@1topf Ja genau, den hab ich installiert. Dann werde ich den vmtl behalten. Hab halt gar keine Langzeit-Erfahrung mit diesem. Aber für den Wechsel von RPi auf VM wird es ja dann schon reichen :).
Dachte auf reinem mqtt zu arbeiten ist "solider". Dann kann ich aber die Verbindung von Z2M zum mqtt-adapter aber kappen, oder?
NEWS
Latest posts made by WurstDLX
-
RE: Umstieg zigbee-Adapter auf zigbee2mqtt(lxr) und mqtt-adapter
-
Umstieg zigbee-Adapter auf zigbee2mqtt(lxr) und mqtt-adapter
Hallo,
mein aktuelles Setup ist wie folgt:- iobroker (updated) auf einem RPi 4 mit u.A. dem zigbee-Adapter und mqtt-Adapter
Ich möchte gerne den RPi ablösen durch eine Proxmox Umgebung.
Hierfür möchte ich den Schritt gleichzeitig nutzen, mich vom zigbeeAdapter zu verabschieden und auf zigbee2mqtt als lxr umzusteigen.
Um es halbwegs mit geringer downtime zu erreichen, habe ich zigbee2mqtt mit eigenem (neuen) Sonoff Dongle als lxr in Proxmox installiert und zum Laufen gebracht. Eine Steckdose habe ich auch erfolgreich anbinden können.
Nun war meine Idee Z2M an den mqtt Adapter im iobroker (noch RPi) anzubinden, hat soweit auch funktioniert, nur stehe ich irgendwie auf dem Schlauch was die Datenpunkte angeht.
In den mqtt Objekten steht zwar die Steckdose (Device Name als Ordner) aber nur mit dem Datenpunkt "availability". Per Z2M kann ich die Steckdose normal schalten und auslesen.Meine grundsätzliche Frage ist: Wie bekomme ich die anderen Datenpunkte "published"?
Es verging schon ein paar Neustarts von Z2M und eine halbe Stunde und es hatte sich noch nichts getan.Ich habe wähenddessen behelfsmäßig mir den zigbee2mqtt-Adapter installiert (in iobroker) und per Websocket holt er sich alle topics (der Steckdose). Ich wollte aber eigentlich iobroker schlank halten
und mqtt nutze ich schon für nukihub.
Ich hatte im Anschluss dann den output Type von Z2M auf "attribute" gestellt (wollte mal schauen ob das klappt) und dann angefangen den Eintrag hier zu schreiben.
Als ich ein Screenshot aufnehmen wollte, hab ich gesehen, dass jetzt alle Datenpunkte im mqtt under der Steckdose sichtbar sind (availability im json-Format und die anderen im attribute Format).
- Nun frag ich mich, lag es daran, dass es sehr lange dauert, bis alle Datenpunkte im mqtt-Adapter gehört werden oder weil ich den output type geändert hatte?
- Wie ist der saubere Vorgang nach dem Anlernen in Z2M und "sichtbar machen" im mqtt-Adapter?
- Ist es ratsam den output type in attribute zu lassen oder ist json stabiler?
Vielen Dank für euren Input!
Edit: Ich habe gesehen, ich kann aber mit den DP vom mqtt-Adapter nichts schalten. Der mqtt-Adapter ist als server/broker konfiguriert, ist das korrekt?
-
RE: Fingerbot - Zigbee Adapter - Steuerung nicht möglich
@thomas-braun Wie würde das denn aussehen?
Aktuell mache ich das mit
"if state=true then state=false else state=true" (kein original Quellcode :)). -
RE: Fingerbot - Zigbee Adapter - Steuerung nicht möglich
@thomas-braun Erledigt, danke! Habe im gleichen Atemzug noch den js-controller auf 5.x gehoben. Jetzt geht die Bewegung des "Fingers" wieder, wenn ich entweder den state "state" (Rolle Switch) von true auf false oder von false auf true setze. Ich frage mich, ob das so gewollt ist. Dann müsste ich ja zum Auslösen per JS immer den jeweils anderen boolschen Wert setzen.
-
RE: Fingerbot - Zigbee Adapter - Steuerung nicht möglich
@arteck Meinst du damit die Version 1.10.0? Muss ich dazu die stable deinstallieren oder kann ich die "drüber" installieren und die Adapter-settings bleiben?
Und grundsätzliche Frage: Werden die Datenpunkte gleich bleiben? Habe nämlich ein paar JS Skripte zu den DP am laufen. -
RE: Fingerbot - Zigbee Adapter - Steuerung nicht möglich
@thomas-braun Ich war einfach zu beschränkt, ich habe die Admin Version eingetragen die auf der GUI oben rechts stand
.
-
Fingerbot - Zigbee Adapter - Steuerung nicht möglich
Systemdata Hardwaresystem: Pi4 Arbeitsspeicher: 4 GB Festplattenart: SD-Karte Betriebssystem: Raspbian Node-Version: 18.19.0 Nodejs-Version: 18.19.0 NPM-Version: 10.2.3 Installationsart: Script Image genutzt: Ja Zigbee Adapter 1.9.7 (eine installierte Instanz) Hallo zusammen,
ich habe mir den Fingerbot mit Zigbee Protokoll besorgt, da ich bereits einen funktionsfähigen ZigbeeStick/Adapter besitze.
Nun habe ich aber das Problem, dass ich zwar die Properties einstellen kann, aber keinen "Switch" zum Aktivieren des Fingerbots finde:
Anfangs hat es funktioniert, wenn ich den "state" toggelte (von true auf false und von false auf true). Ich finde das erstens nicht so gelungen (bei anderen devices reicht es ein "on" zu senden) und zweitens geht es mittlerweile nicht mehr. Im Zigbee-Binding ist mir dann aufgefallen, dass der Fingerbot nicht "verbunden" ist:
Ich habe dann das log-level mal erhöht und ich vermute mal, dass ein Problem beim "Toggeln" von "state" das hier ist:
Aber kurz darauf oder wenn ich manuell am Gerät selber den Taster drücke, kommt " TS0001 was last seen..", also erkennt der Adapter das Gerät per se.
Informationen zum Gerät:
Meine Fragen nun sind:
- Kann man den Fingerbot mit einem anderen "Befehl" aktivieren?
- Warum hat er kein binding im Zigbee Adapter?
- Was bedeutet dieses "no network route"?
Kann mir da jemand bitte weiterhelfen?
-
RE: [Gelöst] setTimeout() um Toggeln von DP zu ignorieren
@paul53 Danke, klappt jetzt!
-
RE: [Gelöst] setTimeout() um Toggeln von DP zu ignorieren
@paul53 Oh, ja ich habe so meine Schwierigkeiten mit dem if-statement in js.
Es müsste:if (variable=="string"){}
sein, oder?
-
[Gelöst] setTimeout() um Toggeln von DP zu ignorieren
Hallo,
ich bin eigentlich der Meinung, dass ich settimeout verstanden habe. Aber scheinbar doch nicht.
Hintergrund ist folgender: Ich habe eine NUKI Bridge auf einem ESP86. Die Bridge startet (warum auch immer) alle 2h neu, vermutlich ist das Wifi zu instabil. Bei jedem "offline" oder "online" sende ich mir eine Nachricht. Nun möchte ich aber die kurzen Restarts nicht ständig signalisiert bekommen. Da ein Neustart ca. 1min dauert hatte ich folgende Überlegung:
Wechselt der Status der Connection zur Bridge auf "offline", warte 1min und sende erst dann ein "Ja die Bridge ist offline", wenn sie immer noch nach Ablauf des Timers offline ist.Die settimeout Funktion setzt ja erst asynchron nach Ablauf des Timers ein, daher wusste ich nicht, welchen Wert denn eigentlich in obj.state.val verbleibt und muss vmtl neu Auslesen. Es kann ja nämlich sein, dass der Wert in der Zwischenzeit sich ändert bzw die Funktion aufgrund dessen wieder aufgerufen wird.
on({id:idNUKIConnectionState, change:"ne"},function(obj){ // check if old value was not connected for more than 1 minute var wait_ms=60*1000; // wait ms to check for state if (!timeoutVar){ //check if timer is set clearTimeout(timeoutVar); //reset timer if (obj.state.val="offline"){ //sendTo('telegram.0','Timerstart.'); timeoutVar=setTimeout(function(){ // wait for possible restart var newState=getState(idNUKIConnectionState).val; if (newState="online"){ //sendTo('telegram.0','NUKI Bridge ist wieder '+ newState +' nach Ablauf des Timers.'); } else{ sendTo('telegram.0','NUKI Bridge ist immer noch '+ newState +' nach Ablauf des Timers.'); } timeoutVar=null; },wait_ms); } else{ // online w/o timer sendTo('telegram.0','NUKI Bridge ist '+ obj.state.val +'.'); } } else { //sendTo('telegram.0','NUKI Bridge wurde während des Timers '+ obj.state.val +'.'); } });
Also die Abfrage während des Timers funktionierte, aber als ich die Bridge ausgemacht habe und nie wieder an, kam keine Meldung. Kurz gesagt, ich würde gerne ein Toggeln für 1-2min ignorieren.
Wie wäre das denn richtig?
Danke euch im Voraus!