NEWS
[Frage] HM epaper Display
-
Hallo
Ich besitze so ein EPaper seit ein paar Tagen. DIe Messagezeilen kann ich mit dem Skript unten kontrollieren. Die Datenbeschriftung geht nicht - zumindest hab' ich es nicht rausgefunden. Wichtig scheint das "false" in der setState Anweisung zu sein.
! /* Zeile 1: Temperatur + Markisen(Icon-Kanal 2) /
! var lastTemp = getState("hm-rpc.0.MEQ0833814.1.TEMPERATURE").val; // Aussentemperatur letzer Wert
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_LINE2"," "+lastTemp, false ); // bei Programmstart aktualisieren
! log("EPpaper T="+lastTemp.toString());
! on('hm-rpc.0.MEQ0833814.1.TEMPERATURE', function(obj) { // Aussentemperatur hat aktualisiert
! if( obj.state.val != lastTemp) // EPaper nur wenn nötug updaten
! {
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_LINE2"," "+obj.state.val, false );
! }
! });
! // –-
! var blindAZSZ = 0; // Markise SZ/AZ Wert
! var blindWZ = 0; // Markise WZ Wert
! var bindState = 3; // 0=offen, 1=zu, 3=unbekannt
! function getBlindState(){
! blindAZSZ = getState('hm-rpc.0.MEQ0706726.1.LEVEL').val; // Markise SZ/AZ Wert holen
! blindWZ = getState('hm-rpc.0.MEQ0706954.1.LEVEL').val; // Markise WZ Wert holen
! if ((blindAZSZ === 100) && (blindWZ === 100)){ // alle ganz eingezogen
! if (bindState !== 1){ // EPaper nur wenn nötig updaten
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_ICON2",0x83, false );
! blindState = 1;
! }
! } else { // mindestens eine nicht ganz eingezogen
! if (bindState !== 0){ // EPaper nur wenn nötig updaten
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_ICON2",0x82, false );
! blindState = 0;
! }
! }
! }
! getBlindState(); // bei Programmstart aktualisieren
! on('hm-rpc.0.MEQ0706726.1.LEVEL', function(obj) { // Markise SZ/AZ hat geändert
! getBlindState();
! });
! on('hm-rpc.0.MEQ0706954.1.LEVEL', function(obj) { // Markise WZ hat geändert
! getBlindState();
! });
! / Zeile 2: Fenster /
! var openBad = false; // Status Badfenster
! var openSZ1 = false; // Tür1 SZ
! var openSZ2 = false; // Tür2 SZ
! var openSauna = false; // Status Saunafenster
! var infoStr = ""; // Wo ist was offen? (nichts wenn leer)
! function getWindowState(){
! infoStr = "";
! openBad = getState('hm-rpc.0.PEQ0583024.1.STATE').val;
! if (openBad === true){ infoStr = infoStr+">"; }
! openSZ1 = getState('hm-rpc.0.PEQ0583062.1.STATE').val;
! if (openSZ1 === true){ infoStr = infoStr+">"; }
! openSZ2 = getState('hm-rpc.0.PEQ0583069.1.STATE').val;
! if (openSZ2 === true){ infoStr = infoStr+">"; }
! openSauna = getState('hm-rpc.0.OEQ0228189.1.STATE').val;
! if (openSauna === true){ infoStr = infoStr+"@"; }
! if (infoStr === "")
! {
! // alles zu
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_LINE3",'Fenster', false );
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_ICON3",0x83, false );
! } else {
! // etwas offen
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_LINE3","Fenster:"+infoStr, false );
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_ICON3",0x82, false );
! }
! }
! getWindowState();
! on('hm-rpc.0.PEQ0583024.1.STATE', function(obj) {
! getWindowState(); //Bad
! });
! on('hm-rpc.0.PEQ0583062.1.STATE', function(obj) {
! getWindowState(); //SZ
! });
! on('hm-rpc.0.PEQ0583069.1.STATE', function(obj) {
! getWindowState(); //SZ
! });
! on('hm-rpc.0.OEQ0228189.1.STATE', function(obj) {
! getWindowState(); //Sauna
! });
! / Zeile 3: Alarme /
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_LINE4","Alarm k.A.", false );
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_ICON4",0x88, false );
! on('javascript.0.AlarmAktiv', function(obj) {
! if(obj.state.val === true)
! {
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_LINE4","ALARM", false );
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_ICON4",0x84, false );
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_SIGNAL",0xF1, false );
! } else {
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_LINE4","OK", false );
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_ICON4",0x85, false );
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_SIGNAL",0xF0, false );
! setState("hm-rpc.0.PEQ0177981.0.EPAPER_TONE",0xC0, false );
! }
! });
! / EOF */
Weiss jemand wie man das Grad ° Zeichen darstellt?Was auch nicht geht ist die Testendrücke abfragen mit getState(hm-rpc.0.PEQ0177981.1.PRESS_CONT") obwohl sie in den Objekten die Werte bei Betätigung ändern.
Weiss jemand was man tun muss um die Warnungen wegzubekommen?
22:45:12.069 [info] javascript.0 Stop script script.js.common.EPaper 22:45:12.189 [info] javascript.0 Start javascript script.js.common.EPaper 22:45:12.190 [warn] javascript.0 at script.js.common.EPaper:3:1 22:45:12.190 [info] javascript.0 script.js.common.EPaper: EPpaper T=-2.4 22:45:12.191 [warn] javascript.0 at getBlindState (script.js.common.EPaper:21:9) 22:45:12.191 [warn] javascript.0 at script.js.common.EPaper:31:1 22:45:12.192 [warn] javascript.0 at getWindowState (script.js.common.EPaper:60:5) 22:45:12.192 [warn] javascript.0 at script.js.common.EPaper:69:1 22:45:12.192 [warn] javascript.0 at getWindowState (script.js.common.EPaper:61:5) 22:45:12.193 [warn] javascript.0 at script.js.common.EPaper:69:1 22:45:12.193 [warn] javascript.0 at script.js.common.EPaper:84:1 22:45:12.193 [warn] javascript.0 at script.js.common.EPaper:85:1 22:45:12.194 [info] javascript.0 script.js.common.EPaper: registered 8 subscriptions and 0 schedules -
Hi,
ich hänge mich hier einmal mit rein. Über Blockly kann ich den Text im Display auch nicht ändern, über Homematic ist dies kein Problem. Zur Zeit nutze ich folgendes System:
Homematic RPC 1.8.0 (Instanz wurde neu erstellt)
Alle anderen Pakete sind ebenfalls auf dem neuesten Stand.
Den Taster kann man nutzen, der Text ist allerdings nicht änderbar. Angeblich ist er ein "State", wenn man ihn auf "Zeichenkette" ändert, bringt es auch nichts.
Als Fehlermeldung/Warnung erhalte ich bei einer XML-RPC Instanz:
javascript.0 at Object. (script.js.User.Sensoren-test:8:3)
Und bei einer BIN-RPC Instanz ebenfalls:
javascript.0 at Object. (script.js.User.Sensoren-test:8:3)
Hat jemand eine Idee?
@srkonus sagte in [Frage] HM epaper Display:
Den Taster kann man nutzen, der Text ist allerdings nicht änderbar. Angeblich ist er ein "State", wenn man ihn auf "Zeichenkette" ändert, bringt es auch nichts.
Habe fastdas gleiche Problem. Ich möchte das Icon ändern, habe den type zum Test auch mal auf Zeichenkette geändert, leider kommt immernoch "Wrong type of [...] "string". Hat jemand zufällig eine Lösung?