NEWS
Alexa Anbindung ohne Cloud und Skill
-
@haselchen sagte in Alexa Anbindung ohne Cloud und Skill:
@BlackRed
Wir hatten das ja schon im Chat. Was an dem Mic Skript wirft denn Fehler aus?
Log?Hier wird dein Thema auch behandelt wegen der Verzögerung.
Einerseits taucht dort das Skript von Mic auf , andererseits wird doch davon gesprochen das Polling der Bridge zu verkürzen .
https://forum.iobroker.net/topic/8269/hue-dimmer-switchIch habe das ganze nun selber/manuell gemacht ohne das Script etc. zu kopieren, also bin nach der Anleitung von Mic gegangen. So habe ich keine Errors und es geht mit dem selber erstellen Datenpunkten durch Node-Red bzw. sie aktualisieren sich und ich kriege die Werte.
Ich habe beim Philips Hue Extended Adapter die Rate auf 1 Sekunde verringert (davor war es auf 10 Sekunden bzw. ist standardmäßig so) sowie die Warteschlange deaktiviert (siehe Screenshot) damit ist die Verzögerung deutlich zurückgegangen, aber immer noch nicht vergleichbar wie mit normalen Philips Hue Birnen.
Dazu kriege ich im Log immer ein "Warning" das weniger wie 2 Sekunden nicht geht.
"hue-extended.0 2020-05-18 06:43:11.320 warn (1388) Due to performance reasons, the refresh rate can not be set to less than 2 seconds. Using 2 seconds now."
Weniger wie 1 Sekunde geht leider nicht (0,1 etc.) Deshalb versuche ich das jetzt mit Node-Red, da soll es wie bei den richtigen Philips Hue Birnen bzw. über das Tasmota UI direkt in Millisekunden Verzögerung funktionieren.
Ich habe ja nun die Datenpunkte von Node-Red unter den Objekten, habe folgendes Blocky erstellt:
Wie kriege ich die 3 Birnen nun aus über den Schalter? An gehen sie. Davor habe ich die Zahlen für An und Aus eingetragen, siehe oben.
-
@BlackRed
Wenn du die Zahlen zum Schalten benutzt, dann benutzt du ja auch den HUE Adapter.
Wozu hast du dann die Datenpunkte über Node Red angelegt?
Du musst dich entscheiden. HUE Adapter oder Node Red.
Wenn du die Daten aus den neu angelegten Punkten in deinem Blockly verarbeitest, solltest du keine Verzögerung haben.
Ich bin gerade auf der Arbeit und kann dir bildlich kein Beispiel geben.
Aber schriftlich
Wenn Wert vom Objekt ……. ist "short pressed" dann schalte Lampe XY auf wahr (zum Beispiel).Die Datenpunkte, die du angelegt hast, sollten beim Drücken auf den Dimmer Switch den Klartext ausgeben.
Short pressed
Long pressed
Dim Up
Dim Down -
Wenn Wert vom Objekt ……. ist "short pressed" dann schalte Lampe XY auf wahr (zum Beispiel).
Ja, die Objekte vom Hue Extended Adapter nicht wegen der Verzögerung.
Bei meinem neuesten/untersten Blocky Screenshot benutze ich die Node-Red bzw. eigenen Datenpunkte/Objekte, keine Zahlen.
Wenn ich "an" (1 Taste oben beim Philips Hue Dimmschalter) drücke, steht beim Objekt auch on und bei "aus" off etc. sowie short pressed.
Jedoch geht das nicht so wie ich das auf dem Screenshot gemacht habe (es geht nur an, nicht aus)
Hab das "button/name" Objekt verwendet
Also das "action button" verwenden? Das Ding ist halt das ich ja bei an sowie aus nur kurz drücke (also oben und unten)
Ich möchte oben (an) und unten (aus) nur kurz drücken (short pressed) um die 3 Birnen an und auszuschalten.
-
@BlackRed
Du musst beide Datenpunkte nehmen.
Wenn du unten auf den Dimmer drückst, musste im BlocklyFalls Wert vom Objekt...…. ist "Off"
Falls Wert vom Objekt...…. ist "short pressed"dann schalte Lampe(n) aus
nehmen.
Kann dir nachher mein Blockly zeigen
-
@BlackRed
So sehen die Datenpunkte ausDer NodeRed Flow
Blockly
Mit long pressed/released wirste nicht glücklich werden, weil dann auch Aktionen ausgelöst werden , die mit short pressed/released verbunden sind. Warum das so ist, keine Ahnung, oder ich hab einfach nur Pech
-
Vielen, Vielen Dank!
Deine Datenpunkte sind aber irgendwie vertauscht, z.B "action" "action" in Node-Red mit "short released", aber bei den Objekten steht bei action "Off"
Kann es daran liegen das es bei dir nicht mit dem long pressed/released geht? (glaube aber eher nicht ^^) Siehe meinen Objekten unten und bei Mic's Anleitung sind die genau umgekehrt, wenn ich das so wie bei dir mache, geht nichts
So sieht das ganze nun bei mir aus:
Wenn ich auf dem Schalter "An" drücke, gehen alle 3 an und bei "aus" alle 3 aus. (Du hast es ja auf hoch/runterdimmen). Verzögerung von 1-2 Sekunden ist immer noch vorhanden bzw. fast gleich wie mit dem Philips Hue Extended Adapter wenn man in den Einstellungen auf 1 Sekunde stellt? (Bei Philips Hue Birnen + Dimmschalter findet halt praktisch gar keine Verzögerung statt)
(Unten konnte ich nicht noch weitere Objekt IDs hinzufügen wegen den 2 anderen Birnen, "POWER" ist bei der Tasmota/Sonoff Birne "An", bei dem "100" habe ich das "Dimmer" Objekt genommen. Ich nehme mal an das ist dafür gedacht das die Birnen beim betätigen des Schalters immer auf 100% eingestellt werden?)
-
@BlackRed
Wenn Du mit 1 Sek das Polling meinst, habe ich den Wert auf 10 stehen und keine Verzögerung.
Muss bei dir an was anderem liegen.
Wobei 1sek für jeden anders lang ist
Mich würde das nicht stören.Konstellation bei mir ist die neueste Node-Red Version und HUE Adapter 3.2.4
Die anderen Angaben stehen in meiner Signatur. -
Geht dieses node tool noch?
-
@ChristianG
Diese zwei (werden zusammen verwendet) funktionieren noch. Welche Geräte willst denn damit verbinden?
-
@Jan1 ich versuche meine eigenen Skripe über die Sprachsteuerung einzubinden weil die Cloud dauernd hängt.
-
@Jan1 Wie meinst du mit zusammen verwendet? Kannst du mir mal ein screen zeigen?
-
@ChristianG
so z.B.:
Die müssen aber erst nachinstalliert werden.Also ein Hub und daran hängst alles was an Alexa ran soll, wobei die zweite Node der "frindly name" ist.
Die Frage nach den Geräten oben, hat sich auf Tasmota Geräte bezogen, da die direkt über den internen EMU schon an Alexa angebunden werden können, ist Nod-Red zwar möglich, aber wesentlich umständlicher und cloudfrei ist beides.
-
@Jan1 der Hub wird bei mir nicht grün
-
@ChristianG
Der braucht zwingend Port 80, wenn der schon belegt ist, musst Du suchen was den belegt und dort ändern. -
@Jan1 Dann muss ich mal schauen was den Port klaut
Also kann ich dann alles was iot macht auch so umsetzen und bin nicht mehr auf die Cloud angewiesen? Habe zwar das Abo aber es geht mir tiiiierisch auf den Sack das es zwischendurch nicht geht ^^
-
pi@raspberrypi:~ $ netstat -tulpn | grep :80
(Es konnten nicht alle Prozesse identifiziert werden; Informationen über
nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.)
tcp6 0 0 :::8080 :::* LISTEN -
tcp6 0 0 :::8081 :::* LISTEN -
tcp6 0 0 :::8082 :::* LISTEN -
pi@raspberrypi:~ $Da nutzt nix den Port 80, sehr komisch...
-
@ChristianG sagte in Alexa Anbindung ohne Cloud und Skill:
netstat -tulpn | grep :80
sudo netstat -tulpn | grep :80
-
pi@raspberrypi:~ $ sudo netstat -tulpn | grep :80
tcp6 0 0 :::8080 :::* LISTEN 688/java
tcp6 0 0 :::8081 :::* LISTEN 666/io.admin.0
tcp6 0 0 :::8082 :::* LISTEN 1468/io.web.0
pi@raspberrypi:~ $ -
@ChristianG sagte in Alexa Anbindung ohne Cloud und Skill:
@Jan1 Dann muss ich mal schauen was den Port klaut
Also kann ich dann alles was iot macht auch so umsetzen und bin nicht mehr auf die Cloud angewiesen? Habe zwar das Abo aber es geht mir tiiiierisch auf den Sack das es zwischendurch nicht geht ^^
Im Prinzip ja, wobei bei Node-Red die Gefhar besteht, dass Amazon was ändert und die Nodes nicht zeitnah angepasst werden.
Ich habe den IoT auch laufen und der läuft bei mir ohne Probleme. -
An alle die, die neuen Geräte nicht mehr finden und Port 80 bereits belegt ist (bei mir z.B PiHole) und eine Portweiterleitung nötig ist, folgendes machen: (wäre auch gut, wenn man das in das Wiki eintragen würde)
- sudo iptables -t nat -L --line-numbers (wenn hier nichts von 8083/euren Port steht, dann ist es klar, dass es nicht geht)
- sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
- sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083
- Bei dem Node-Red Adapter bei dem "Amazon Echo Hub" Node den Port 8083 einfügen und oben rechts deploy klicken und es funktioniert bzw. er findet nun die Geräte und es ist grün.
- Nochmal sudo iptables -t nat -L --line-numbers (gucken ob da nun 8083 steht, wenn ja dann sollte es gehen)
Nun muss das Ganze noch dauerhaft gespeichert werden falls das Gerät neugestartet wird - sudo apt-get install iptables-persistent
- sudo bash -c "iptables-save > /etc/iptables/rules" | oder service iptables save falls das 1 nicht gehen sollte, auf jeden Fall ist die Speicherung das Problem
Es geht bei den meisten nicht da es so nicht dauerhaft gespeichert wird und beim nächsten Neustart die Portweiterleitung wieder weg ist. Deshalb am Ende das iptable bzw. die Portweiterleitung speichern.
- sudo iptables -t nat -L --line-numbers (if it doesn't say anything about 8083/your port, then it's clear that it doesn't work)
- sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
- sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083
- For the Node-Red Adapter insert port 8083 at the "Amazon Echo Hub" node and click deploy in the upper right corner and it works or it finds the devices and it is green.
- Another time sudo iptables -t nat -L --line-numbers (see if it says 8083, if it does then it should work)
Now the whole thing must be saved permanently if the device is restarted - sudo apt-get install iptables-persistent
- sudo bash -c "iptables-save > /etc/iptables/rules" | or service iptables save | if the 1 does not work, in any case the problem is the saving
It does not work with most of them because it is not saved permanently and the port forwarding is gone again at the next restart. Therefore save the iptable or port forwarding at the end.