NEWS
Sonoff Geräte als HTML Tabelle - Vis
-
@liv-in-sky Jup, das funktioniert
-
habe ein neues script gepostet:
https://github.com/liv-in-sky/sonoff-iobroker-script
- signature kann ein-/ausgeschalten werden
- flexboxen haben ein etwas geändertes design
- flexboxen breite kann eingestellt werden - wegen mehr flexboxen pro zeile
- leider gelingt es mir nicht, die suche als variable zu behalten und bei einem refresh wieder bei dieser stelle zu bleiben - manchmal sucht man etwas und das script macht einen refresh, weil irgendwo ein sonoff gerade geschaltet hat - evtl kann ich da noch eine lösung finden
-
@liv-in-sky
läuft super, vielen Dank! -
zur Info:
Ich bekomme gelegentlich (ca. 1 bis 2 Stundentakt) folgende Warnung:
web.0 2021-03-21 14:24:27.848 warn (29959) State "javascript.0.Tabellen@Liv.SONOFFTabelleVIS.Spalte10" has no existing object, this might lead to an error in future versions
-
@latzi
probiermal bitteein weiteres ",true" hier rein schreiben
-
@liv-in-sky
ist eingetragen, ich beobachte und gebe Rückmeldung dazu in ein paar Stunden. -
testest du bitte mal:
https://github.com/liv-in-sky/sonoff-iobroker-script/blob/main/sonoff-neu-Struktur-21.3.21-15.txt
ich kann leider nicht richtig testen - sonst muss ich alle sonoffs vom strom nehmen und neustarten - sonst werden manche dp nicht gefüllt
-
@liv-in-sky Ich bekomm folgenden Fehler
-
kommentiere den befehl aus in zeile 510 - überbleibsel - kann weg
-
@liv-in-sky Fehler ist dann weg, aber der Datenpunkt wird nicht gefüllt
-
@stephan-schleich den brauchen wir nicht - kannst du löschen - was macht der rest ? ist was in der tabelle ?
-
@liv-in-sky aah, hab den Fehler gefunden, 0_userdata.0 Pfade funktionieren nicht, du verweist auf 0_userdata.0 unter javascripte.
DP wird nun gefüllt. ON dürfte aber kein Licht sein, Power Button geht auch nicht.
Ansonsten ist bei mir alles vorhanden, wie beim vorherigen Script - Top -
@stephan-schleich geht eine kurze session - rufst du durch ?
-
@liv-in-sky nach der ganzen shelly umsteigerei bin ich endlich dazu gekommen mich an der sonoff liste zu versuchen.
grundsätzlich lööpts mal. alles mögliche schon nach meinem geschmack verbogen.
allerdings haut das mit dem sortieren (iQontrol) nicht hin. bei drauf klicken tut sich nichts. bei der shelly funktioniert das. aber auch wenn ich im script sortieren lasse stimmt da nichts. mit let welcheSortierung=0; // Startsortierung - je nach spalte 0: name; 2: online; 3:type; 4:rssi ..... stimmts ja noch.
nach type let welcheSortierung=3; // Startsortierung - je nach spalte 0: name; 2: online; 3:type; 4:rssi .....
nach IP let welcheSortierung=5; // Startsortierung - je nach spalte 0: name; 2: online; 3:type; 4:rssi .....
aber sonst machen die beiden listen untereinander schon was her!
-
moin - sorry - fehler in beschreibung bei sortierung - die erste spalte ist sortierung 0, die zweite spalte ist sortierung 1, usw ....
ich habe das spezielle script für iqontrol nicht verwendet, weil es einige mehr scripte sind, die da im hintergrund laufen. sebastian sagte, er wolle mach nachschauen, ob er das integrieren kann, ohne das ich sonder-scripte schreiben muss
kannst du eigentlich die flexbox einstellen: zeile 37: let flexboxView=true;soweit ich mich erinnere, muss diese zeile bei dir drin sein, damit du die spalten über button sortieren kannst - die müßtest du ersetzen -
das ist die zeile, die rein muss:
buttonScript = '<script> function setOnOtherValue(myval) { var Self = this;console.log(typeof self.servConn); if(typeof self.servConn == "function") Self.servConn.getStates(myval, (error, states) => { console.log(states); self.servConn.setState(myval, !states[myval].val);} ); else window.parent.postMessage({ command: "setState", stateId: myval, value: true }, "*"); } ;'
und die gehört hier hin (die zeilennummern stimmen nicht ganz - aber so ungefähr und nur die eine zeile !!!!
-
@liv-in-sky ich versuche gerade das neue Script zu testen.
Sind die Einstellungen korrekt?
In dpVIS habe ich den selben Pfad eingetragen wie im Script vorher.
in dpJSON habe ich nichts geändert. Richtig so?
Und im html-Widget habe in meinem Fall {0_userdata.0.Tabellen.Sonoff.Sonoff} eingetragen, also wie vorher auch.
Was ich anders gemacht habe ich nun javascript.1 anstatt .0 genommen zu haben.Bei Start des Scripts:
javascript.1 2021-03-22 09:50:41.610 info (28524) script.js.common.Tabellen.Sonoff3: registered 14 subscriptions and 0 schedules javascript.1 2021-03-22 09:50:41.598 warn (28524) at script.js.common.Tabellen.Sonoff3:1085:3 javascript.1 2021-03-22 09:50:41.598 warn (28524) at script.js.common.Tabellen.Sonoff3:600:5 javascript.1 2021-03-22 09:50:41.597 warn (28524) at writeHTML (script.js.common.Tabellen.Sonoff3:452:121) javascript.1 2021-03-22 09:50:41.591 warn (28524) getState "sonoff.0.CO2.POWER" not found (3) states[id]=null javascript.1 2021-03-22 09:50:41.407 info (28524) Start javascript script.js.common.Tabellen.Sonoff3
-
@liv-in-sky zo, let flexboxView=true; funktioniert. auf den sortierfehler hätte ich auch selbst kommen können. naja, erstes mal in einem neuen script, da versucht man sich zu konzentrieren und verstehen...
zeile 974 hab ich geändert. ergebniss: ein geplegtes undefined
buttonScript = '<script> function setOnOtherValue(myval) { var Self = this; Self.servConn.getStates(myval, (error, states) => { console.log(states); self.servConn.setState(myval, !states[myval].val);} )}; ' + '$( "button.myButt'+dpVIS+'" ).click(function() { $( this ).slideUp() ; setTimeout(function() { $( "button.myButt'+dpVIS+'" ).hide() ; $( ".mySpan'+dpVIS+'" ).text(\"wait ...\")}, 500); });' //'[class*="test"]' [class~="value"] "[class~='gerade']" /*search*/ + `var allRows = $("[class*='gerade${dpVIS}']"); $("input.myinputclass${dpVIS}").on("keydown keyup", function() { allRows.hide(); $("tr:contains('" + $(this).val() + "')").show();});` /*search*/ + `var allRows2 = $("div.divFlexBoxenEinzeln${dpVIS}"); console.log(allRows2); $("input.myinputclass${dpVIS}").on("keydown keyup", function() { allRows2.hide(); $("div.divFlexBoxenEinzeln${dpVIS}:contains('" + $(this).val() + "')").show();});` + `$( ".seitenleiste${dpVIS}:not(.seitenleiste${dpVIS}.sonderTablet${dpVIS})" ).click(function() { $( "button.myButt${dpVIS}" ).slideUp() ; setTimeout(function() { $( "button.myButt${dpVIS}" ).hide() ; $( ".mySpan${dpVIS}" ).text(\"refresh\")}, 500); var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte8'; vis.setValue(myvali,true) ; console.log("spalt8") });` // + `$( ".seitenleiste${dpVIS}:not(.seitenleiste${dpVIS}.sonderTablet${dpVIS})" ).click(function() {var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte5'; vis.setValue(myvali,true) ; console.log("spalt5") });` /*dbclick*/ + `$( "[class*='gerade${dpVIS}']" ).dblclick(function() {var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte9'; vis.setValue(myvali,true) ; console.log("spalt9") });` /*dbclick*/ + `$( "[class*='divFlexBoxen${dpVIS}']" ).dblclick(function() {var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte9'; vis.setValue(myvali,true); console.log("spalt9") });` /*tablet */+ `$( ".sonderTablet${dpVIS}" ).click(function() {var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte10'; vis.setValue(myvali,true); console.log("spalt10") });` + `function setOnDblClickCustom( myvalue ) { var Self = this; var objID = myvalue; Self.servConn.getStates(objID, (error, states) => { console.log(states); Self.servConn.setState(objID, !states[objID].val); }); }` + spaltenAnzeigeScript + spaltenAnzeigeScriptEnd +'</script>'
const buttonScript = '<script> function setOnOtherValue(myval) { var Self = this;console.log(typeof self.servConn); if(typeof self.servConn == "function") Self.servConn.getStates(myval, (error, states) => { console.log(states); self.servConn.setState(myval, !states[myval].val);} ); else window.parent.postMessage({ command: "setState", stateId: myval, value: true }, "*"); } ;' + '$( "button.myButt'+dpVIS+'" ).click(function() { $( this ).slideUp() ; setTimeout(function() { $( "button.myButt'+dpVIS+'" ).hide() ; $( ".mySpan'+dpVIS+'" ).text(\"wait ...\")}, 500); });' //'[class*="test"]' [class~="value"] "[class~='gerade']" /*search*/ + `var allRows = $("[class*='gerade${dpVIS}']"); $("input.myinputclass${dpVIS}").on("keydown keyup", function() { allRows.hide(); $("tr:contains('" + $(this).val() + "')").show();});` /*search*/ + `var allRows2 = $("div.divFlexBoxenEinzeln${dpVIS}"); console.log(allRows2); $("input.myinputclass${dpVIS}").on("keydown keyup", function() { allRows2.hide(); $("div.divFlexBoxenEinzeln${dpVIS}:contains('" + $(this).val() + "')").show();});` + `$( ".seitenleiste${dpVIS}:not(.seitenleiste${dpVIS}.sonderTablet${dpVIS})" ).click(function() { $( "button.myButt${dpVIS}" ).slideUp() ; setTimeout(function() { $( "button.myButt${dpVIS}" ).hide() ; $( ".mySpan${dpVIS}" ).text(\"refresh\")}, 500); var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte8'; vis.setValue(myvali,true) ; console.log("spalt8") });` // + `$( ".seitenleiste${dpVIS}:not(.seitenleiste${dpVIS}.sonderTablet${dpVIS})" ).click(function() {var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte5'; vis.setValue(myvali,true) ; console.log("spalt5") });` /*dbclick*/ + `$( "[class*='gerade${dpVIS}']" ).dblclick(function() {var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte9'; vis.setValue(myvali,true) ; console.log("spalt9") });` /*dbclick*/ + `$( "[class*='divFlexBoxen${dpVIS}']" ).dblclick(function() {var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte9'; vis.setValue(myvali,true); console.log("spalt9") });` /*tablet */+ `$( ".sonderTablet${dpVIS}" ).click(function() {var Self = this; var myvali='javascript.${instance}.Tabellen@Liv.${dpVIS}.Spalte10'; vis.setValue(myvali,true); console.log("spalt10") });` + `function setOnDblClickCustom( myvalue ) { var Self = this; var objID = myvalue; Self.servConn.getStates(objID, (error, states) => { console.log(states); Self.servConn.setState(objID, !states[objID].val); }); }` + spaltenAnzeigeScript + spaltenAnzeigeScriptEnd +'</script>'
sorry, habe gestern total vergessen, daß ich eigentlich bei jeder änderung, nach speichern, schon warnings bekommen habe...
22:18:46.277 info javascript.0 (1256) Stop script script.js.common.Diverses.Sonoff_Tabelle 22:18:46.300 info javascript.0 (1256) Start javascript script.js.common.Diverses.Sonoff_Tabelle 22:18:46.325 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:18:46.325 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:18:46.325 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:18:46.326 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:18:46.326 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:18:46.326 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:18:46.327 info javascript.0 (1256) script.js.common.Diverses.Sonoff_Tabelle: registered 26 subscriptions and 0 schedules 22:22:02.606 info javascript.0 (1256) Stop script script.js.common.Diverses.Sonoff_Tabelle 22:22:04.452 info javascript.0 (1256) Start javascript script.js.common.Diverses.Sonoff_Tabelle 22:22:04.493 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:22:04.494 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:22:04.494 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:22:04.502 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:22:04.503 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:22:04.503 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:22:04.504 info javascript.0 (1256) script.js.common.Diverses.Sonoff_Tabelle: registered 26 subscriptions and 0 schedules 22:22:29.692 info javascript.0 (1256) Stop script script.js.common.Diverses.Sonoff_Tabelle 22:22:29.752 info javascript.0 (1256) Start javascript script.js.common.Diverses.Sonoff_Tabelle 22:22:29.779 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:22:29.779 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:22:29.779 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:22:29.780 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:22:29.780 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:22:29.780 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:22:29.781 info javascript.0 (1256) script.js.common.Diverses.Sonoff_Tabelle: registered 26 subscriptions and 0 schedules 22:27:37.418 info javascript.0 (1256) Stop script script.js.common.Diverses.Sonoff_Tabelle 22:27:37.492 info javascript.0 (1256) Start javascript script.js.common.Diverses.Sonoff_Tabelle 22:27:37.518 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:27:37.518 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:27:37.518 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:27:37.519 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:27:37.519 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:27:37.519 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:27:37.520 info javascript.0 (1256) script.js.common.Diverses.Sonoff_Tabelle: registered 26 subscriptions and 0 schedules 22:30:00.478 info javascript.0 (1256) Stop script script.js.common.Diverses.Sonoff_Tabelle 22:30:00.643 info javascript.0 (1256) Start javascript script.js.common.Diverses.Sonoff_Tabelle 22:30:00.680 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:30:00.680 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:30:00.680 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:30:00.681 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 22:30:00.681 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 22:30:00.681 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 22:30:00.682 info javascript.0 (1256) script.js.common.Diverses.Sonoff_Tabelle: registered 26 subscriptions and 0 schedules 01:16:01.883 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 01:16:01.884 warn javascript.0 (1256) at Object.<anonymous> (script.js.common.Diverses.Sonoff_Tabelle:1055:44) 01:16:01.885 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 01:16:01.885 warn javascript.0 (1256) at Object.<anonymous> (script.js.common.Diverses.Sonoff_Tabelle:1055:44) 01:57:47.238 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 01:57:47.238 warn javascript.0 (1256) at Object.<anonymous> (script.js.common.Diverses.Sonoff_Tabelle:1055:44) 01:57:47.241 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 01:57:47.241 warn javascript.0 (1256) at Object.<anonymous> (script.js.common.Diverses.Sonoff_Tabelle:1055:44) 01:57:52.806 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 01:57:52.806 warn javascript.0 (1256) at Object.<anonymous> (script.js.common.Diverses.Sonoff_Tabelle:1057:88) 01:57:52.807 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 01:57:52.807 warn javascript.0 (1256) at Object.<anonymous> (script.js.common.Diverses.Sonoff_Tabelle:1057:88) 09:22:10.357 info javascript.0 (1256) Stop script script.js.common.Diverses.Sonoff_Tabelle 09:22:10.436 info javascript.0 (1256) Start javascript script.js.common.Diverses.Sonoff_Tabelle 09:22:10.482 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 09:22:10.484 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 09:22:10.485 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 09:22:10.487 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 09:22:10.488 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 09:22:10.488 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 09:22:10.490 info javascript.0 (1256) script.js.common.Diverses.Sonoff_Tabelle: registered 27 subscriptions and 0 schedules 09:24:42.168 info javascript.0 (1256) Stop script script.js.common.Diverses.Sonoff_Tabelle 09:24:42.196 info javascript.0 (1256) Start javascript script.js.common.Diverses.Sonoff_Tabelle 09:24:42.236 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 09:24:42.236 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 09:24:42.236 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 09:24:42.237 warn javascript.0 (1256) at writeHTML (script.js.common.Diverses.Sonoff_Tabelle:439:121) 09:24:42.237 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:583:5 09:24:42.237 warn javascript.0 (1256) at script.js.common.Diverses.Sonoff_Tabelle:1071:3 09:24:42.238 info javascript.0 (1256) script.js.common.Diverses.Sonoff_Tabelle: registered 27 subscriptions and 0 schedules
-
@lobomau sorry da ist ein fehler im der beschreibung - du mußt keinen datenpunkt setzen - lass den ursprünglichen namen unter dpVIS ( SONOFFTabelleVIS ) - das script macht den rest - die daten findest du dann unter
javascript.x.Tabellen@Liv.TestTabelleVIS.SONOFFTabelleVIS
-
@lobomau hole dir bitte das neue script von github
-
@da_woody - bei dem zeilen einfügen, darf das const nicht vor buttonscript stehen
hole dir auch bitte das neue script https://github.com/liv-in-sky/sonoff-iobroker-script
ich habe das mal in iqontrol getestet - das sortieren bringe ich nicht zum laufen - kannst du mir sagen, wie ich die anzeige groß bekomme - bin in iqontrol aus der übung - ich habe nur ein kleines fenster, wenn ich die tabelle öffnen will
leider habe ich keine ahnung, was da bei iqontrol im hintergrund abläuft, daher kann ich das script von sebastian nicht anpassen - wir müssen wohl warten, bis er jquery für diese art der anzeige integriert hat