NEWS
ESP Matrix Anzeige fully IoBroker steuerbar
-
@liv-in-sky sagte in ESP Matrix Anzeige fully IoBroker steuerbar:
Ich glaube ich spinne - Wald und Bäume und so weiter. Fehler gefunden!!!!
Ich habe zwar in den Settings die IP geändert und offensichtlich den Port (nachhaltig &konseqeunt) gelöscht. Großartige Leistung von mir, ich könnte mich in den A..... beißen. 2 Tage sinnleer herumgebastelt und Frust aufgebaut.Danke für deine Ausführungen, das serielle Fenster im Arduiono hat mich gleich auf die richtige Spur gebracht!
Herzlichen Dank!
LG, mxa -
@metaxa das war jetzt schnell - aber hauptsache es geht
ich erfreu mich heut noch immer an der matrix
habe jetzt auch ein script, mit dem man sich die timer von alexa an der matrix ansehen kann - in der küche timer gestellt - "alexa timer 10 minuten nudeln" und im wohnzimmer an der matrix sehen, wie der timer runterzählt - mir gefällts
also viel spaß damit
-
@liv-in-sky ich erfreute mich auch seit Monaten daran, nur durch den "einfachen" Umzug hab ich mich durch eigene Bödheit rausgeschossen.
Danke nochmals für deinen Schubbs in die richtige Richtung!
LG, mxa
-
Guten Abend,
ich habe mir diese Anzeige erfolgreich nachgebaut,
doch leider komme ich mit der Einrichtung von iobroker + der dazugehörigen URL für das Display nicht klar.
Hat jemand vielleicht ein kleines Beispiel und kann mir evtl. damit auf die Sprünge helfen?
Die IP wird als OK gemeldet und die Urzeit wird im Wechsel it der Fehlermeldung "http con error" angezeigt.
LG wuchy -
12345678Sorry, schaue ich mir morgen an, hatte den falschen Thread erwischt. Aber das kriegma schon hin. -
auf dem dot Matrixdisplay. Im seriellen Monitor wird die Verbindung zum iobroker angezeigt.
Ich bräuchte nur eine Tipp, wie ich iobroker und die URL vom display konfigurieren muss... -
@wuchy Bist du danach vorgegangen?
- https://github.com/liv-in-sky/MatrixDisplayESP8266
- MQTT Adapter hast du installiert?
-
@wuchy
Hi,
ich habe die Laufschrift ebenfalls nachgebaut, allerdings werden die Daten mit meinem Sketch mittels UDP an den WEMOS "gepushed" und nicht "abgeholt". Das ist aber für Dein Problem nebensächlich.
Guckst Du: ioBroker DOT Matrix Laufschrift
Dort speziell den Absatz Software.Ich nehme an, Dir fehlt der Datenpunkt, in dem die Daten für die Laufschrift stehen?
Schau Dir diesbzgl. mal das Script "Matrix-Laufschrift.js" ganz unten auf meiner Seite an.
Ich habe vorher manuell einen Datenpunkt "ausgabe_datenpunkt = 'javascript.0.Laufschrift' " (Typ = Zeichenkette") erstellt.
Das Script füllt diesen Datenpunkt dann zyklisch mit den gewünschten Werten (durch Semikolon getrennt).
Dazu werden im Script zuerst alle gewünschten Daten gesammelt mit getState(xxx) .
Dann werden ggf. einige Umrechnungen vorgenommen ( z.B. windspeed -> bft).
Anschl. if-Abfragen wie z.B.if (gelb_sack_heute == true) { var GelbSackHeute = 'Heute Gelber Sack;' } else { var GelbSackHeute = '' }
Das bewirkt, daß wenn heute der Gelbe Sack abgeholt wird, die Variable var GelbSackHeute = 'Heute Gelber Sack;' gesetzt wird (beachte das Semikolon am Ende, was als Feldtrenner für die Matrix benötigt wird).
Ist heute kein Abholtermin, ist die Variable var GelbSackHeute = '' leer, bzw. ein leerer String.Wenn alle gewünschten Variablen erzeugt sind, wird daraus damit die Variable "ausgabe" gefüllt:
var ausgabe = Service + DutyCycle + Badezimmer + tf_aussen + tf_wohnzimmer + .......
Darin sind dann alle Werte enthalten (auch die Leerstrings, die aber auf der Matrix nicht angezeigt werden).
Die "ausgabe" wird dann in den oben erwähnten "ausgabe_datenpunkt" geschrieben:var pfad = ausgabe_datenpunkt setState(pfad , ausgabe, true);
Dieser Datenpunkt ist dann die URL, die vom Matrixdisplay benötigt wird.
Ich hoffe, ich konnte das einigemaßen rüberbringen und es hilft Dir weiter?
Gruß
Jörg -
Riesen Dank für deine Antwort und deine Erklärungen. Ich glaube ich hab's gerafft.
Na dann werde ich mich über's Wochenende mal damit auseinandersetzen.LG wuchy
-
du hast da viel arbeit reingesteckt und das mit dem push der daten ist definitiv eine gute verbesserung - soll ich dein project in den ersten post mit aufnehmen ? ich werde meinen sketch nicht weiterentwickeln - ich überlege selber schon, eines meiner zwei matrixen mal mit deinem sketch zu testen.
möchtest du einen eigenen thread aufmachen (oder hast du schon einen), um auf updates aufmerksam zu machen - den könnte ich auch verlinken - es wird schwierig für neue user, zuerst meinen thread durchzulesen und anschliessend deine version zu finden@wuchy je nachdem , welchen sketch du verwendest - bitte schreibe den ansprechpartner in deinen post - @joergeli oder @liv-in-sky damit wir wissen, was du letztendlich benutzt
-
@liv-in-sky
Jo, Du kannst gerne einen Link auf meine Seite setzen, eigener Thread muss nicht sein.
Evtl. mit dem Hinweis, daß man sich ein wenig mit Arduino, libraries, etc. auskennen sollte.Ich habe ebenfalls nicht vor, Änderungen im Sketch vorzunehmen, da bei mir alles problemlos läuft.
Falls Du testweise mal meine Version flashen willst, beachte bitte:
1.) Ich bin ein Freund fester IP-Adressen --> die Netzwerkparameter müssen daher manuell im Sketch eingetragen werden.
2.) Ich habe einige Sonderzeichen (z.B. Umlaute) anders als bei Dir definiert --> evtl. werden dann Ausgaben bei Dir nicht richtig dargestellt.
3.) Ich habe zusätzlich einen LDR an PIN A0 zur Helligkeitssteuerung verwendet, ohne den funktioniert die Schaltung evtl. nicht. Falls kein LDR zur Hand ist, einfach mit einem Festwiderstand (~ 10k) ersetzen.Have Fun
Jörg -
ich habe heute die Hardware aufgebaut und den Sketch aufgespielt. Läuft alles einwandfrei. In den kommenden Tagen ist dann die Verbindung zu iobroker dran. Kann man deinen Skript irgendwie in iobroker importieren? Meine kurzen Versuche mit dem erstellen eines neuen Skriptes scheiterten beim copy/paste.
LG wuchy
-
@wuchy
Sollte aber gehen.
Neues Javascript anlegen - korrekt.
Meinen Code mit CTRL + c aus dem Browser in die Zwischenablage übernehmen.
Im neuen Script mit dem Cursor in die 1. Zeile gehen, dann CTRL + vGruß
Jörg -
@joergeli
diese Vorgehensweise funktioniert bei mir leider nicht. Wenn's nicht geht, muss ich wohl teile deiner Datei "abtippern" -
@wuchy
Mmmmh, komisch .....
Ich habe es gerade bei mir noch mal getestet mit Firefox unter WIN7:
Mein Script im Browser aufrufen --> Ctrl + a (alles auswählen)
Dann Ctrl + v (kopieren)
Dann in ioBroker --> Scripte auswählen.
Anschl. Dein neu erstelltes, leeres JavaScript auswählen (Doppelclick)
Dann den Cursor mit der Maus in Zeile 1 des leeren Scriptes setzen.
Dann Ctrl + v (einfügen). Hinweis: rechte Maustaste --> Einfügen funktioniert im JS-Editor nicht !!!Ich gehe mal davon aus, daß Du unter Windows arbeitest?
Klappt es denn, wenn Du das Script in eine beliebige Text-Datei in Windows kopierst?
Schreib doch mal genau, wo es nicht funktioniert.Alternativ kannst Du zum Testen, ob Deine Matrix irgendwas ausgibt, mal folgendes machen:
1.) Neuen Datenpunkt javascript.0 --> Laufschrift (Typ Zeichenkette) manuell anlegen.
( Objekte javascript.0 markieren, dann + Symbol anclicken, in neuem Fenster "Neues Objekt hinzufügen:.." --> Name: Laufschrift)2.) Manuell irgendwas in den Datenpunkt Laufschrift reinschreiben, z.B: Morgen: Bio-Abfall;3 offene Fenster;Nur ein Test;
(Beachte, daß jeder Einzeltext mit Semikolon abgeschlossen ist!)3.)Wenn Du den WEMOS mit meinem Sketch geflashed hast, sollten spätestens nach 45 Sekunden die Texte nacheinander in der Matrix auftauchen.
Gruß
Jörg -
@wuchy
Noch was:
Mein Script dient lediglich zur Veranschaulichung, wie man den Datenpunkt für die Matrix füllen kann.
Du kannst das nicht 1:1 übernehmen, da Du ja ganz andere Gegebenheiten hast, sprich andere Sensoren/Aktoren betreibst. Deshalb musst Du natürlich im Script sämtliche Einlesepunkte und if-Abfragen anpassen!Versuch erst mal zu Testen, ob Deine Matrix überhaupt Daten bekommt, wie ich bereits bei "Alternativ kannst Du testen...." beschrieben habe.
Gruß
Jörg -
ich habe den Inhalt Deiner Datei importiert bekommen ( unter win10 mit firefox, chrome geht nicht) und das Skript schaufelt artig Daten in den neuen Datenpunkt.
Leider bekomme ich die Daten nicht zum Wemos. Die Matrix meldet " warte auf Daten vom iobroker ". Muss ich evtl. noch etwas in der simple-api einstellen? Der Port steht wie in der ino auf 8087. Der Serielle Monitor zeigt mir die Verbindung zum Router und die aktuelle ntp Uhrzeit ( wird ständig aktualisiert )an. Mehr ist auf dem Seriellen Monitor nicht zu sehen. Hast du evtl. noch eine Idee?LG wuchy
-
@wuchy
simple-api Port 8087 ist bei mir auch eingestellt.Könnte es evtl. ein Problem mit den IP-Adressen sein?
Überprüfe bitte mal, ob die jeweiligen IP-Adressen "zusammenpassen":1.) Stimmt im JavaScript die IP-Adresse des WEMOS:
//Wemos IP-Adresse var udpIP = '192.168.192.19'
mit der IP-Adresse im Sketch:
IPAddress ip(192, 168, 192, 19); //### local ip-address
überein (natürlich mit Deiner eigenen Netzwerkadresse)?
2.) Stimmen im Javascript der UDP-Port (6610):
// "update" an WEMOS senden (pushen), damit dort die Laufschrift sofort aktualisiert wird const dgram = require('dgram'); var udpPort = 6610 var udpMessage = "update" var client = dgram.createSocket('udp4'); client.send(udpMessage, 0, udpMessage.length, udpPort, udpIP, function(err, bytes) { if (err) throw err; client.close(); })
und der UDP-Port im Sketch:
// UDP WiFiUDP NTPudp; int localCNTRLport = 6610; char incomingPacket[255]; WiFiUDP CNTRLudp;
überein?
3.) Letztendlich im Sketch noch überprüfen, ob dort der richtige Datenpunkt eingetragen ist
(die IP-Adresse 192.168.192.29:8087 muss durch die IP-Adresse Deines ioBrokers ersetzt werden!)// Laufschrift initialisieren char url[255] = "http://192.168.192.29:8087/getPlainValue/javascript.0.Laufschrift"; //###### Datenpunkt in ioBroker, der abgefragt werden soll #### char scrollPause[10] = "2.5"; // Anzeigedauer char scrollSpeed[10] = "13"; // Scrollgeschwindigkeit (0-xx): je hoeher der Wert, desto langsamer die Geschwindigkeit int effekt_nr = 6; // Start mit Effekt Nr.6 (0-8)
4.) Im Browser mal die Datenpunkt-Adresse direkt eingeben:
http://192.168.192.29:8087/getPlainValue/javascript.0.Laufschrift
dann sollte im Browser so etwas ähnliches angezeigt werden:
"Au`en 6.3$C 81 %;Wohnz. 22.7$C 40 %;1003 hPa 33 km 5 Bft;Heute: Bio-Abfall;2 offene Fenster;Wasserverbr. 15 l;;;"
Wichtig sind dabei die Semikola zwischen den einzelnen Werten und die Gänsefüßchen am Anfang und Ende.
Gruß
Jörg -
sollte meiner Meinung nach alles stimmen. Leider komme ich erst morgen dazu, das zu überprüfen.
Jedenfalls jetzt schon einmal vielen Dank für deine Hilfe.Gruß wuchy
-
habe alle Ports usw. überprüft, alles so wie von dir angegeben. Im Browser erhalte ich auch die Daten.
Mir kommt das Verhalten meines wemos komisch vor. Beim Drücken der Taste für die Modi erhalte ich nur Sinnfreies im Seriellen Monitor. Lasse ich den wemos nach einem Neustart etwas laufen, bleibt nach einer Weile die Lautschrift stehen und der wemos friert ein. Ich bin fast der Meinung, das beim kompilieren schon etwas schief geht. (obwohl beim Kompilieren keine Fehler ausgegeben werden und der wemos dann auch startet) Ich habe den Boardverwalter 2.4.1 und die Lib's von liv-in-sky in Benutzung.Gruß wuchy