NEWS
Alexa Anbindung ohne Cloud und Skill
-
Ich kenne das verhalten vereinzelt von manchem Broadlink Datenpunkt
-
Ich habe nun mal folgendes getestet:
Das nicht funktionierende iobroker Objekt gelöscht und mit leicht verändertem Namen wieder angelegt.
Schwupps funktioniert das Ganz. Nicht die eleganteste Lösung, aber bei 3 Geräten zu verschmerzen.
Gleich noch vorweg. Das Objekt mit dem selben Namen wieder anlegen funktioniert nicht.
-
Hallo,
ich bin gestern und heute auch noch auf Probleme gestossen. Die Erkennung durch Echos der 2. Generation klappt ja bekanntlich nicht. Also habe ich mir andere Projekte angesehen. Da wurde von kritischen Timings gesprochen. Also vor dem Senden der Erkennung mal eine Pause von 1,5 Sekunden eingebaut, was in dem anderen Projekt geholfen haben soll. >> Hat nix gebracht. Dann unterschiedliche Seriennummern vergeben. Hat auch nichts gebracht. Dann die setup.xml an die anderer Projekte angepasst >> hat auch nix gebracht. Immer sagte Alexa, dass keine neuen Geräte gefunden wurden.
Dann wollte ich aufräumen und was entdecke ich da auf der Alexa Website? - Das Gerät wurde irgendwann hinzugefügt. Also wieder gelöscht und nochmal probiert. >> nix
Dann das Backup von gestern auf den Raspi und nur ein Home-Gerät hinzugefügt: >> Nicht gefunden…
Im Quellcode sind auch noch eine Menge FIXXMEs drin. Daher am besten, wenn was funktioniert, nicht für Tests entfernen.
Blöd ist aktuell noch, dass die WEMO Dinger keine Rückmeldung haben. Die Geräte sind in der Alexa App immer ausgeschaltet.
-
Hallo,
Bei Alexa-home funktioniert die Rückgabe an Alexa. Bei Alexa-local wirft er aktuell noch die Werte durcheinander. Komischerweise wird Node Red mit 1 beendet und gleich wieder gestartet, wenn ich wie bei Alexa-home vorgehe. Also thisNode.aktWert nutze.
Nun suche ich nach der Möglichkeit, eine Variable für den gesamten Node zu haben. Alternativ müsste ich den aktWert durch die ganzen Funktionen mitschleppen. In die Persistent Storage wollte ich den Wert nun nicht mit ablegen. RAM sollte reichen.
Die Sachen mit context und flow werden nur angemeckert.
> xxx is not defined at handleInputMessage
edit:
OK, mit thisNode durchschleifen klappt es jetzt.
ToDo sind dann noch die Schaltbefehle. Aktuell wird immer der Status ON gesendet.
Anbei mein aktueller Stand der local-Version. (opt\iobroker\iobroker-data\node-red\node_modules\node-red-contrib-alexa-local)
5023_index.js -
Bei mir funtioniert es Alexa-Loal leider nicht! Wer kann mir weiterhelfen? Anbei zwei Bilder die das Problem beschreiben.
5246_alexa-local.jpg
5246_fehlermeldung.jpg -
Hallo,
was steht in True / False drin? Evtl. aus einem Texteditor eingefügt und falsche (Zeilenende-)Zeichen mit kopiert?
-
Kleines Update:
die Alexa-home Nodes werfen noch Fehlermeldungen aus. Da diese eh ,trotz gleicher Vorgehensweise, nicht erkannt werden, widme ich mich den Alexa-local Nodes.
Leider hatte ich noch keinen Erfolg mit der Erkennung per Alexa der 2. Generation. Alle Anpassungen, welche die Ausgabe so nah wie möglich an einen Original-Hue Hub bringen, waren erfolglos (12 Stellige Seriennummer, Seriennummer kommt in der UUID vor, IP Adresse in Klammern hinter dem Namen, usw).
Aktuell habe ich die Ist-Werte in der App. Aus-Zustand wird auch korrekt angezeigt. Der Original-Code schreibt allerdings bei jeder Änderung am Eingang was in den permanenten Speicher. Dieses habe ich schon geändert. Die Änderung der Seriennummern auf 12 habe ich drin gelassen. Die InputTrigger Option will ich für digitale Geräte (nur an/aus) mißbrauchen.
Der Umbau des Codes ist jetzt schon relativ umfangreich. Auch bin ich über doppelte, identische Funktionen (setLightBriForLightId und Co) gestolpert. Ob diese schon vorher doppelt drin waren, oder mir ein Copy/Paste passiert ist, habe ich noch nicht nachgeprüft.
edit: Nachgeprüft, die Funktionen sind im Original doppelt drin.
anbei mein aktueller Stand. Da die Seriennummer und Gerätenummer auf 12 Stellen geändert ist, läuft der Code nicht mit bereits erstellten Nodes. Am besten die Nodes löschen, Code austauschen, node-red neu starten und Nodes neu erstellen.
Im Storage wird nur abgelegt, wenn der Wert sich geändert hat und größer 0 ist. Ein Einschalten setzt dann den letzten Wert.
5023_node-red-contrib-alexa-local.zip -
Hallo,
ich habe mich jetzt den ganzen tag mit der Umstellung auf node red befasst und umgesetzt, nur ich habe wie viele das Problem das alexa irgendwann die geräte nicht mehr erkennt weil im eintrag "online" oder "discovery" steht und nicht "lights".
Hat schon irgendwer eine lösung zu diesen Problem??
mfg denjo
-
Hallo,
wie bist Du genau vorgegangen / welche Nodes nutzt Du?
Anbei die geänderten Dateien, damit man per Wemo-Emulator Rückmeldungen zur App bekommt.
Als Eingang entweder true / false, on / off oder einen bri-Wert. Alles größer 0 ist an.
5023_node-red-contrib-wemo-emulator.zip
5023_wemo.png -
ich geh so vor
was ist denn der wemo Emu??
3445_04-03-_2018_20-28-48.png -
Hallo,
der wemo-emu sollte hier im Thema mit behandelt sein. Die digitale (an/aus) Alternative zur analogen (an/aus, Dimm-Wert 0 bis 100) Alexa-home / Alexa-local Lösung.
Sieht auf den ersten Blick gut aus.
Ich kann leider nicht erkennen, welche Nodes Du nutzt. (Home (wohl nicht, wegen unterschiedlicher Ports), local oder meine geänderte Version hier). Die erneute Erkennung von Geräten klappt am besten, wenn man die per Homepage / App löscht, dann Node-Red neustartet und neu suchen lässt.
Welche Konfiguration hast Du im Switch und den Funktionen?
-
node red 18.4 und node js v8.9.4
es geht darum das sich die geräte nicht auf lights stellen und so alexa die geräte nicht findet oder die gefunden geräte nicht erreichbar sind
3445_04-03-_2018_21-02-38.png -
Ach so. Online ist ok, sogar ein gutes Zeichen. Discovery kommt nach einem gewissen Timeout oder wenn die Suche gestartet wurde und ist auch ok. Lights steht da nie. Die geben sich immer als Lampen aus. Die Anzeige ist nur ein Status für den Anwender selbst.
Die Geräte evtl. in der Alexa App oder per Browser https://alexa.amazon.de/spa/index.html#smart-home löschen. Dann Node-Red oder den gesamten iobroker neu starten und dann wieder suchen. Das ist aber nur nötig, wenn die Geräte eine andere ID bekommen haben. Also die Nodes gelöscht wurden und dann wieder neue hinzugefügt wurden oder wenn Du den Code gegen den von mir ausgetauscht hast.. Da bekommen auch gleichnamige Geräte wieder eine neue ID.
Die Alexas der 2. Generation finden aktuell die emulierten Hue-Bridges nicht. Hast Du mehrere Alexas, kannst du die Suche auch auf der Amazon.Seite auslösen. Da werden dann bei mir alle neuen Nodes gefunden solange der Echo der ersten Generation online ist.
Das Problem könnte jemand einkreisen, der eine echte Hue Bridge sowie ein Netzwerkscanner zur Verfügung hat. Habe ich leider nicht. Meine Versuche mit anderen Timings (verzögern sowie beschleunigen) waren bisher erfolglos. Möglich, dass der Code vom Netzwerkteil des Node-Red selbst angepasst werden muss.
Wenn bereits gefundene Geräte nicht mehr reagieren, ist evtl. der Echo, der die Ansprechen kann, außer Reichweite / Ausgeschaltet.
-
Alles was du hier sagst zb raspi, iobroker oder node red neu starten und die geräte mit der app löschen usw hab ich alles schon probiert. Ich hab den echo 2 gen, gestern waren alle geräte noch da und hat sie auch gefunden. Jetzt sind viele geräte nicht mehr erreichbar aber ich werde morgen noch ein wenig rum probieren und dann mal weiter gucken
-
ich musste zum teil x-mal nach Geräten suchen lassen bis alle node-red Geräte gefunden wurden
-
Hab ich auch durch gemacht nur komischerweise sind viele geräte auf einmal nicht erreichbar wobei sie bei alexa drin sind. Und wie schon gesagt alexa erkennt bei mir die geräte nur wenn diese auf lights stehen
-
Das ist ein guter Hinweis. Lights habe ich als Status noch nie gesehen, ist aber im Quellcode drin. Wenn die neuen Echos das dann nur finden, probiere ich mal bissel rum.
-
Wenn du das hin bekommst wäre das ein traum.
Ich hab jetzt erst mal alles wieder auf die cloud umgestellt weil so macht das kein sinn.
Mfg
-
Hallo,
das Problem mit den Echos 2 konnte ich etwas einkreisen.
Die Hardware des Echo2 ist entweder wesentlich schneller als die des Echo 1 oder die Software hat nen Bug.
Das Timing des Echo 2 bzw. die Pausen der Anfragen waren bei meinen Messungen um den Faktor bis zu 339 schneller / kürzer.
In so kurzer Zeit hat Node-Red die Antworten noch nicht fertig gestellt. Die erste Antwort geht noch recht zügig raus, die zweite Antwort braucht schon länger und wird dann durch ein RES abgebrochen, da schon die nächste Anfrage des Echo 2 eingetroffen ist. Dann schickt der Echo 2 sechs Anfragen raus, der Echo 1 nur 4.
Wenn man das Timing also wirklich so kurz hinbekommen sollte, dann nur mit Alexa-home. Alexa-local hat ja pro Node eine emulierte Bridge. Alexa-home eine Bridge für 25 Nodes.
Edit: Die Tests habe ich dann auch noch mit dem Tinkerboard durchgeführt, um die Konfig des Raspi nicht zu versauen…
5023_zeitenechos.png -
okay für mich ist das leider etwas zu hoch verstehe nicht alles. bedeutet das das mit alexa home klappen würde und nur mit local nicht?