Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No valid JSON for MAC: xxx #31

Closed
DJTechMo opened this issue Oct 16, 2021 · 13 comments
Closed

No valid JSON for MAC: xxx #31

DJTechMo opened this issue Oct 16, 2021 · 13 comments

Comments

@DJTechMo
Copy link

DJTechMo commented Oct 16, 2021

Moin,
wenn ich das neue Update installiere und mein Thermostat hinzufüge, kommt es zum Fehler: No valid JSON for MAC: xxxxx(MAC-Adressee)

To Reproduce
Steps to reproduce the behavior:
Update installieren.
Thermostat eintragen.
Adapter starten.

Versions:

  • Adapter version: 2.0.1
  • JS-Controller version: 3.3.18
  • Node version: 12.18.3
  • Operating system: Debian 9

Log:
`
eq3-thermostat.0 | 2021-10-16 15:41:52.664 | error | No valid JSON for MAC: 00:1A:22:16:25:15

eq3-thermostat.0 | 2021-10-16 15:41:52.606 | error | No valid JSON for MAC: 00:1A:22:16:2F:2A

eq3-thermostat.0 | 2021-10-16 15:41:52.541 | info | ##### RUN ADAPTER #####

eq3-thermostat.0 | 2021-10-16 15:41:52.388 | info | ##### CREATE OBJECTS #####

eq3-thermostat.0 | 2021-10-16 15:41:52.387 | info | PY-Script Path: "expect /opt/iobroker/node_modules/iobroker.eq3-thermostat/eq3.exp"

eq3-thermostat.0 | 2021-10-16 15:41:52.386 | info | Button step: 1

eq3-thermostat.0 | 2021-10-16 15:41:52.385 | info | Update-Interval: 2

eq3-thermostat.0 | 2021-10-16 15:41:52.384 | info | Loaded 2 eq3-Devices

eq3-thermostat.0 | 2021-10-16 15:41:52.383 | info | Force Mode-Manual: false

eq3-thermostat.0 | 2021-10-16 15:41:52.382 | info | Button step overwritten to: 1

eq3-thermostat.0 | 2021-10-16 15:41:52.380 | info | ##### LOAD CONFIG #####
`

@Schnup89
Copy link
Owner

Schnup89 commented Oct 16, 2021

Servus,

habe ganz vergessen den JSON Output als debug log einzupflegen damit wir auch sehen was passiert.
Habe es in der Version 2.0.3 ergänzt, einfach den Adapter nochmal "drüber installieren" und mal den debug output anschauen.
Dort sollte dann folgende Nachrichten erscheinen:
error | No valid JSON for MAC: 00:1A:22:16:25:15
debug | error Message: Fehlermeldung
debug | Expect-Output: Output von Expect-Script

@Schnup89
Copy link
Owner

Schnup89 commented Oct 16, 2021

image

Hier nicht vergessen den debug zu aktivieren mit der version 2.0.3 (option erscheint mit erweiterter ansicht, analog zur adapterinstalltion)

@DJTechMo
Copy link
Author

Jetzt bekomme ich:
Connection Error for MAC: xxx
und nichts weiteres trotz Silly Logging
Pfad check ist aber successfull

@Schnup89
Copy link
Owner

Schnup89 commented Oct 16, 2021

OK, beim Connection Error kommt kein weiteres log da es vom expect script direkt so reported wird.
Bitte den rpi (oder was auch immer) einmal neu starten und nochmal testen.
Oder: sudo service bluetooth restart
Und nochmal probieren

Edit:
Du kannst nach dem reboot oder service neustart die verbindung testen in dem du folgendes kommando ausführst:
expect /opt/iobroker/node_modules/iobroker.eq3-thermostat/eq3.exp 00:1A:22:16:25:15 json
oder
expect /opt/iobroker/node_modules/iobroker.eq3-thermostat/eq3.exp 00:1A:22:16:2F:2A json

damit sollten aktuelle werte abgerufen werden

@DJTechMo
Copy link
Author

Restart hat es wohl gebracht. Das eine Thermostat ist wohl manchmal ausser Reichweite. Das zweite funktioniert.
Danke. Schauen wir mal wie stabil es so läuft.

@Heini1985
Copy link

Hallo zusammen,
ich habe heute den Adapter 2.0.4 installiert und es hat auch alles wunderbar mit einem Thermostat funktioniert.

dann wollte ich heute Abend weitere Thermostate einfügen und habe festgestellt das der Adapter kein Verbindung mehr hat. und er meldet mit folgenden Fehler:

2021-10-17 23:37:04.976 | error | No valid JSON for MAC:

Neu starten vom Pi probiert und Bluetooth neu gestartet. Den Adapter neu installiert
Der Pi findet alle Thermostate aber der Adapter hat keine Verbindung.

könnt ihr mir da helfen
oder ist der Fehler immer noch nicht behoben

Danke Heini1985

@Schnup89
Copy link
Owner

Hallo Heini,

hast du den Debug modus in den Instanzeinstellungen aktiviert?
Damit sollten wir eine zusätzliche Fehlermeldung im loglevel "Debug" bekommen.

Alternativ auf der console bitte folgenden Befehl testen und den Output hierher kopieren:
expect  /opt/iobroker/node_modules/iobroker.eq3-thermostat/eq3.exp mac json

@Heini1985
Copy link

Hallo Schnup89

ich habe folgende Fehlermeldungen (siehe Bild 1). Und ja ich habe alle aktiviert(Sihe Bild 2)

Bild 1:
image
Bild 2:
image
den Befehl "expect /opt/iobroker/node_modules/iobroker.eq3-thermostat/eq3.exp mac json" hbe ich auch schon probieret aber die Ausgabe hat mich nicht weitergebracht deswegen kopiere ich es hiernein:

Ausgabe in SSH:
pi@raspberrypi:~ $ expect /opt/iobroker/node_modules/iobroker.eq3-thermostat/eq3.exp 00:1A:22:06:BF:CA json
can't read "d": no such variable
while executing
"return $d"
(procedure "hexToDecimal" line 3)
invoked from within
"hexToDecimal [lindex $raw_timer [expr 2 * $event + 1 ]]"
(procedure "readTimer" line 13)
invoked from within
"readTimer $day"
(procedure "readTimers" line 5)
invoked from within
"readTimers"
(procedure "toJson" line 15)
invoked from within
"toJson"
("^json$" arm line 2)
invoked from within
"switch -regexp $c {
^sync$ {
init $INIT(mode)
}
^comforteco.* {
checkArgs $c 2 "comforteco" {^comforteco [0-9]{1,2}.?[05]? [0..."
(procedure "doCommand" line 10)
invoked from within
"doCommand"
(file "/opt/iobroker/node_modules/iobroker.eq3-thermostat/eq3.exp" line 1265)

auch nochmal als Bild:
image

ich hoffe das du mir dabei helfen kannst was mache ich falsch?
Viele Grüße
Heini1985

@Schnup89
Copy link
Owner

Schnup89 commented Oct 18, 2021

Moin,
das ist generell kein Problem des Adapters sondern ein Problem mit dem BT-Stack und dem Expect-Script.
Hier sind einige Lösungsvorschläge im GITHUB des Scripts:
https://github.com/Heckie75/eQ-3-radiator-thermostat/issues?q=no+such+variable+

Wenn du einen USB-Bluetooth-Dongle rumliegen hast, nimmt den und deaktiviere das Bluetooth Modul auf dem RPI.
Das BT-Modul des RPI ist wohl nicht das Maß aller Dinge...

@Schnup89
Copy link
Owner

Schnup89 commented Oct 27, 2021

Mir ist gestern bei der Installation ein ähnliches Phänomen aufgefallen, die Thermostate reagierte einmal von 10 Versuchen.

Habe es nun stabil am laufen, bin wie folgt vorgegangen:

sudo bluetoothctl  
pair *MAC*    
trust *MAC*  

Im Endeffekt sollte dann das Kommando "info MAC" wie folgt aussehen:

Device 00:1A:22:11:XX:XX (public)   
        Name: CC-RT-BLE  
        Alias: CC-RT-BLE  
        **Paired: yes**  
        **Trusted: yes**  
        Blocked: no  
        Connected: no  
        LegacyPairing: no  
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)  
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)  
        UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)  
        UUID: Vendor specific           (3e135142-654f-9090-134a-a6ff5bb77046)  
        UUID: Vendor specific           (9e5d1e47-5c13-43a0-8635-82ad38a1386f)  
        ManufacturerData Key: 0x0000  
        ManufacturerData Value:  
  00 00 00 00 00 00 00 00 00                       .........  

Solltet ihr beim paring nach dem PIN gefragt werden, wird dieser mit einem Klick auf dem Thermostat angezeigt oder mit

expect /opt/iobroker/node_modules/iobroker.eq3-thermostat/eq3.exp *MAC* serial

@Heini1985
Copy link

Hi ich habe jetzt auch einen USB single von Logilink BT0015 (Reichweite Angabe bis 50 m). Habe den Fehler nicht mehr so oft. Ich habe Bluez 5.62 und blueman im Einsatz. Die Reichweite des dongels ist aber schlechter als beim Handy. Hat einer von euch eine Idee wie ich die Reichweite des Dongels (class1) verbessern kann. Also richtig instaliert bekomme. Oder hat einer von euch einen Vorschlag welchen Stack ich nehmen sollte. Ich habe einen pi4 als master und pi3 als Slave.

Ein Vorschlag währe sehr nett von euch.

Viele Grüße

Heini1985

@Schnup89
Copy link
Owner

Hi Heini, hast du es mal probiert die Geräte zu pairen so wie oben beschrieben? Damit bekomme ich aktuell eine gute/besser Verbindung auch zu entfernteren Thermostaten.

@Heini1985
Copy link

Ja ich habe alle Thermostate mit den Pi gepairt. Da komische ist das er die Geräte finden wen man lescan ausführt. Aber der Adapter sagt keine Kommunikation und ab und zu No vailid JSON Form MAC. Die Thermostate direkt in der in mittelbaren Umgebung funkieren tadellos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants