Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorlage] Variable Zeitsteuerung mit VIS Editor

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[Vorlage] Variable Zeitsteuerung mit VIS Editor

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vistemplate
919 Beiträge 47 Kommentatoren 279.1k Aufrufe 75 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • jpgorganizerJ jpgorganizer

    Hi, ich versuche gerade diese Zeitsteuerung für MDCSS2 umzustricken. Das geht ansich ganz easy und ist vergleichsweise schnell erledigt.

    Nur ich habe dann festgestellt, dass die Haupttabelle auf einem Handy im Hochformat mir nicht gefällt. Deshalb habe ich auch noch zusätzlich begonnen mir hier was anderes einfallen zu lassen (wenn es denn mal soweit ist, dann bekommst du / ihr das).

    Nun habe ich ein Problem mit der Aktualisierung der Tabelle, wenn ich einen Timer aktiviere bzw. deaktiviere. Im TimerJSON wird die Aktualisierung eingetragen, nur in TableHTML kommt es nicht an. Bei der Ursachenforschung bin ich auf die Funktion toggleActivation gestossen. Darin steht in Zeile 884 ein setState("....TimerJSON", ... , true) , also mit ack=true.

    53ed9146-b425-43ba-882e-51acb30633bb-grafik.png

    Es gibt einen on-Handler für den State TimerJSON, aus dem heraus dann auch TableHTML aktualisiert wird. Nur dieser Handler reagiert nur bei ack=false.

    5ad92dda-3a77-4cce-a74f-4b16316b2168-grafik.png

    @GiuseppeS
    Deshalb die Frage: was spricht dagegen, den setState in Zeile 884 mit ack=false zu setzen? Kannst du noch sagen, warum du ein ack=true verwendet hast?

    Auf den ersten Test funktioniert es bei mir gut. Aber welche Stolperfalle habe ich mir dadurch eingebaut?

    VG jpgorganizer

    PS: Zeilennummern sind aus der aktuellen Version v1.2.1 30.11.2020 von github (gestern von dort geholt)

    G Offline
    G Offline
    GiuseppeS
    schrieb am zuletzt editiert von GiuseppeS
    #862

    @jpgorganizer
    Erstmal mein Respekt, dass du dich in diesem Skript-Dschungel zurechtfindest. Ist alles andere als vorbildlich programmiert.

    Zum Problem:
    Wenn Du in der Tabelle einen Timer togglest, dann wird es innerhalb der Tabelle verarbeitet, d.h. ohne dass das html im State aktualisiert wird. Aber dennoch soll das JSON aktualisiert werden, schließlich muss alles noch passen wenn das Skript neu gestartet wird.
    Grund:
    Wenn durch ein Toggle das json angepasst wird und dies ein neues html generieren würde, dann würde die vollständige Tabelle neu gerendert werden und somit die Scroll-Position verloren gehen. Nur deshalb funktioniert aktuell das Togglen geschmeidig ohne Sprünge der Scroll-Position.

    Wenn bei dir das Togglen nicht mehr funktioniert, musst du innerhalb des html Codes die Funktion prüfen, ob diese weiter korrekt angesprochen wird und auch der Rückgabewert passt.

    Was genau passt du denn bzgl der mobilen Ansicht an? Evtl könnte ich es allgemein übernehmen.

    jpgorganizerJ 1 Antwort Letzte Antwort
    0
    • G GiuseppeS

      @jpgorganizer
      Erstmal mein Respekt, dass du dich in diesem Skript-Dschungel zurechtfindest. Ist alles andere als vorbildlich programmiert.

      Zum Problem:
      Wenn Du in der Tabelle einen Timer togglest, dann wird es innerhalb der Tabelle verarbeitet, d.h. ohne dass das html im State aktualisiert wird. Aber dennoch soll das JSON aktualisiert werden, schließlich muss alles noch passen wenn das Skript neu gestartet wird.
      Grund:
      Wenn durch ein Toggle das json angepasst wird und dies ein neues html generieren würde, dann würde die vollständige Tabelle neu gerendert werden und somit die Scroll-Position verloren gehen. Nur deshalb funktioniert aktuell das Togglen geschmeidig ohne Sprünge der Scroll-Position.

      Wenn bei dir das Togglen nicht mehr funktioniert, musst du innerhalb des html Codes die Funktion prüfen, ob diese weiter korrekt angesprochen wird und auch der Rückgabewert passt.

      Was genau passt du denn bzgl der mobilen Ansicht an? Evtl könnte ich es allgemein übernehmen.

      jpgorganizerJ Offline
      jpgorganizerJ Offline
      jpgorganizer
      schrieb am zuletzt editiert von
      #863

      @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

      und somit die Scroll-Position verloren gehen.

      aha, das hatte ich schon bemerkt, aber nicht begriffen, dass das sonst nicht der Fall war 🙂 Danke

      Meine Änderungen bekommst du in ein paar Tagen. Schau dir mal diese Demo hier von @Uhula an.

      https://github.com/Uhula/ioBroker-Material-Design-Style/blob/master/templates/MduiLogInstances/MduiLogInstances_Listview_Black.gif

      Ich versuche die Hauptansicht so oder zumindest so ähnlich zu machen. Dann kann ich das auf einem Handy im Hoch- und Querformat besser darstellen - zumindest glaube ich das derzeit.

      VG jpgorganizer

      Bitte keine Fragen per PN, die gehören ins Forum!

      ioBroker
      smartgarden Adapter für GARDENA smart system
      Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

      G 1 Antwort Letzte Antwort
      0
      • jpgorganizerJ jpgorganizer

        @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

        und somit die Scroll-Position verloren gehen.

        aha, das hatte ich schon bemerkt, aber nicht begriffen, dass das sonst nicht der Fall war 🙂 Danke

        Meine Änderungen bekommst du in ein paar Tagen. Schau dir mal diese Demo hier von @Uhula an.

        https://github.com/Uhula/ioBroker-Material-Design-Style/blob/master/templates/MduiLogInstances/MduiLogInstances_Listview_Black.gif

        Ich versuche die Hauptansicht so oder zumindest so ähnlich zu machen. Dann kann ich das auf einem Handy im Hoch- und Querformat besser darstellen - zumindest glaube ich das derzeit.

        VG jpgorganizer

        G Offline
        G Offline
        GiuseppeS
        schrieb am zuletzt editiert von
        #864

        @jpgorganizer
        Schaut gut aus, hatte selbst mal mit solch einer Ansicht gespielt, aber die Übersicht fand ich dadurch nicht wirklich besser. Ist aber natürlich Geschmackssache.

        Mal ohne Test gefragt:
        Das html widget, welches die Tabelle beinhaltet, besitzt auch css Klassen. Dort nutze ich ja noch die css-v1 Klasse mit Standard Ansicht. Würde es nicht genügen, wie von Uhula üblich, hier den Eintrag für die 2. Variante einzutragen? Evtl hab ich es auch falsch in Erinnerung... Schon länger nicht mit den Tabellen gespielt.

        jpgorganizerJ 1 Antwort Letzte Antwort
        0
        • G GiuseppeS

          @jpgorganizer
          Schaut gut aus, hatte selbst mal mit solch einer Ansicht gespielt, aber die Übersicht fand ich dadurch nicht wirklich besser. Ist aber natürlich Geschmackssache.

          Mal ohne Test gefragt:
          Das html widget, welches die Tabelle beinhaltet, besitzt auch css Klassen. Dort nutze ich ja noch die css-v1 Klasse mit Standard Ansicht. Würde es nicht genügen, wie von Uhula üblich, hier den Eintrag für die 2. Variante einzutragen? Evtl hab ich es auch falsch in Erinnerung... Schon länger nicht mit den Tabellen gespielt.

          jpgorganizerJ Offline
          jpgorganizerJ Offline
          jpgorganizer
          schrieb am zuletzt editiert von
          #865

          @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

          .... hatte selbst mal mit solch einer Ansicht gespielt, aber die Übersicht fand ich dadurch nicht wirklich besser. Ist aber natürlich Geschmackssache.

          ich erhalte das Original und mach was Neues dazu. Einfach schaltbar per Switch

          Mal ohne Test gefragt:
          Das html widget, welches die Tabelle beinhaltet, besitzt auch css Klassen. Dort nutze ich ja noch die css-v1 Klasse mit Standard Ansicht. Würde es nicht genügen, wie von Uhula üblich, hier den Eintrag für die 2. Variante einzutragen? Evtl hab ich es auch falsch in Erinnerung... Schon länger nicht mit den Tabellen gespielt.

          schon, nur das ist keine Tabelle, das ist eine manuell zusammengestellte HTML Seite 😞 , die natürlich automatisch erstellt wird 🙂 , wenn man den Code geschrieben hat 😞

          Muss jetzt noch schauen, wie ich das mit dem "ungewollten" Scrollen löse.

          VG jpgorganizer

          Bitte keine Fragen per PN, die gehören ins Forum!

          ioBroker
          smartgarden Adapter für GARDENA smart system
          Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

          jpgorganizerJ G 2 Antworten Letzte Antwort
          0
          • jpgorganizerJ jpgorganizer

            @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

            .... hatte selbst mal mit solch einer Ansicht gespielt, aber die Übersicht fand ich dadurch nicht wirklich besser. Ist aber natürlich Geschmackssache.

            ich erhalte das Original und mach was Neues dazu. Einfach schaltbar per Switch

            Mal ohne Test gefragt:
            Das html widget, welches die Tabelle beinhaltet, besitzt auch css Klassen. Dort nutze ich ja noch die css-v1 Klasse mit Standard Ansicht. Würde es nicht genügen, wie von Uhula üblich, hier den Eintrag für die 2. Variante einzutragen? Evtl hab ich es auch falsch in Erinnerung... Schon länger nicht mit den Tabellen gespielt.

            schon, nur das ist keine Tabelle, das ist eine manuell zusammengestellte HTML Seite 😞 , die natürlich automatisch erstellt wird 🙂 , wenn man den Code geschrieben hat 😞

            Muss jetzt noch schauen, wie ich das mit dem "ungewollten" Scrollen löse.

            VG jpgorganizer

            jpgorganizerJ Offline
            jpgorganizerJ Offline
            jpgorganizer
            schrieb am zuletzt editiert von
            #866

            @GiuseppeS

            jetzt muss ich doch nochmal nachfragen:
            wenn ich den Editor-Dialog für einen Timer öffne, z.B. die Zeit ändere und wieder schließe mit OK, dann wird an den Anfang der Tabelle gescrollt, oder habe ich da jetzt was falsch gesehen?

            VG jpgorganizer

            Bitte keine Fragen per PN, die gehören ins Forum!

            ioBroker
            smartgarden Adapter für GARDENA smart system
            Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

            G 1 Antwort Letzte Antwort
            0
            • jpgorganizerJ jpgorganizer

              @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

              .... hatte selbst mal mit solch einer Ansicht gespielt, aber die Übersicht fand ich dadurch nicht wirklich besser. Ist aber natürlich Geschmackssache.

              ich erhalte das Original und mach was Neues dazu. Einfach schaltbar per Switch

              Mal ohne Test gefragt:
              Das html widget, welches die Tabelle beinhaltet, besitzt auch css Klassen. Dort nutze ich ja noch die css-v1 Klasse mit Standard Ansicht. Würde es nicht genügen, wie von Uhula üblich, hier den Eintrag für die 2. Variante einzutragen? Evtl hab ich es auch falsch in Erinnerung... Schon länger nicht mit den Tabellen gespielt.

              schon, nur das ist keine Tabelle, das ist eine manuell zusammengestellte HTML Seite 😞 , die natürlich automatisch erstellt wird 🙂 , wenn man den Code geschrieben hat 😞

              Muss jetzt noch schauen, wie ich das mit dem "ungewollten" Scrollen löse.

              VG jpgorganizer

              G Offline
              G Offline
              GiuseppeS
              schrieb am zuletzt editiert von
              #867

              @jpgorganizer

              Was funktionieren müsste, ist die variable Darstellung bezogen auf das html Widget. So schaut es bei mir aus wenn ich die Breite des Browsers verringere.

              Oben ist die kompakte Darstellung noch nicht aktiv, unten schon:

              aabb681c-175b-4b6b-93a3-d48efe62530d-image.png

              Als Alt-Klassen habe ich folgendes im Widget stehen:
              a9963a73-0a04-4267-8a0b-13f530fd8dbb-image.png

              Wenn sowas mit CSS2 weiterhin funktioniert, kann man weitergrübeln, wie dieses Verhalten schaltbar gemacht werden kann. Dazu hätte ich auch schon eine Idee: Mit CSS1 in meinem Beispiel ist die Klasse "mdui-table-ascard-r500-l" ausschlaggebend für dieses Umschaltverhalten. Diese Klasse könnte mit einer Mini-Funktion im HTML-Code aktiviert/deaktiviert.

              jpgorganizerJ 1 Antwort Letzte Antwort
              0
              • jpgorganizerJ jpgorganizer

                @GiuseppeS

                jetzt muss ich doch nochmal nachfragen:
                wenn ich den Editor-Dialog für einen Timer öffne, z.B. die Zeit ändere und wieder schließe mit OK, dann wird an den Anfang der Tabelle gescrollt, oder habe ich da jetzt was falsch gesehen?

                VG jpgorganizer

                G Offline
                G Offline
                GiuseppeS
                schrieb am zuletzt editiert von GiuseppeS
                #868

                @jpgorganizer sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                @GiuseppeS

                jetzt muss ich doch nochmal nachfragen:
                wenn ich den Editor-Dialog für einen Timer öffne, z.B. die Zeit ändere und wieder schließe mit OK, dann wird an den Anfang der Tabelle gescrollt, oder habe ich da jetzt was falsch gesehen?

                VG jpgorganizer

                Weil in diesem Fall u.U. viel verändert wurde, wird die Tabelle neu erstellt. Somit Scroll-Pos oben.
                Nur das Aktivieren/Deaktivieren wird zur Laufzeit angepasst, ohne reload der Tabelle. Somit bleibt die Scroll-Pos bestehen.

                jpgorganizerJ 1 Antwort Letzte Antwort
                0
                • G GiuseppeS

                  @jpgorganizer

                  Was funktionieren müsste, ist die variable Darstellung bezogen auf das html Widget. So schaut es bei mir aus wenn ich die Breite des Browsers verringere.

                  Oben ist die kompakte Darstellung noch nicht aktiv, unten schon:

                  aabb681c-175b-4b6b-93a3-d48efe62530d-image.png

                  Als Alt-Klassen habe ich folgendes im Widget stehen:
                  a9963a73-0a04-4267-8a0b-13f530fd8dbb-image.png

                  Wenn sowas mit CSS2 weiterhin funktioniert, kann man weitergrübeln, wie dieses Verhalten schaltbar gemacht werden kann. Dazu hätte ich auch schon eine Idee: Mit CSS1 in meinem Beispiel ist die Klasse "mdui-table-ascard-r500-l" ausschlaggebend für dieses Umschaltverhalten. Diese Klasse könnte mit einer Mini-Funktion im HTML-Code aktiviert/deaktiviert.

                  jpgorganizerJ Offline
                  jpgorganizerJ Offline
                  jpgorganizer
                  schrieb am zuletzt editiert von
                  #869

                  @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                  @jpgorganizer

                  Was funktionieren müsste, ist die variable Darstellung bezogen auf das html Widget. So schaut es bei mir aus wenn ich die Breite des Browsers verringere.

                  Oben ist die kompakte Darstellung noch nicht aktiv, unten schon:

                  aabb681c-175b-4b6b-93a3-d48efe62530d-image.png

                  Als Alt-Klassen habe ich folgendes im Widget stehen:
                  a9963a73-0a04-4267-8a0b-13f530fd8dbb-image.png

                  Wenn sowas mit CSS2 weiterhin funktioniert, kann man weitergrübeln, wie dieses Verhalten schaltbar gemacht werden kann. Dazu hätte ich auch schon eine Idee: Mit CSS1 in meinem Beispiel ist die Klasse "mdui-table-ascard-r500-l" ausschlaggebend für dieses Umschaltverhalten. Diese Klasse könnte mit einer Mini-Funktion im HTML-Code aktiviert/deaktiviert.

                  das funktioniert mit MDCSS2 auch ... zumindest hatte ich das heute auch mal gemacht. Deine CSS Klassen gibt es weiterhin, bzw. es gibt ein Äquivalent dazu.

                  Bitte keine Fragen per PN, die gehören ins Forum!

                  ioBroker
                  smartgarden Adapter für GARDENA smart system
                  Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                  1 Antwort Letzte Antwort
                  0
                  • G GiuseppeS

                    @jpgorganizer sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                    @GiuseppeS

                    jetzt muss ich doch nochmal nachfragen:
                    wenn ich den Editor-Dialog für einen Timer öffne, z.B. die Zeit ändere und wieder schließe mit OK, dann wird an den Anfang der Tabelle gescrollt, oder habe ich da jetzt was falsch gesehen?

                    VG jpgorganizer

                    Weil in diesem Fall u.U. viel verändert wurde, wird die Tabelle neu erstellt. Somit Scroll-Pos oben.
                    Nur das Aktivieren/Deaktivieren wird zur Laufzeit angepasst, ohne reload der Tabelle. Somit bleibt die Scroll-Pos bestehen.

                    jpgorganizerJ Offline
                    jpgorganizerJ Offline
                    jpgorganizer
                    schrieb am zuletzt editiert von
                    #870

                    @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                    @jpgorganizer sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                    @GiuseppeS

                    jetzt muss ich doch nochmal nachfragen:
                    wenn ich den Editor-Dialog für einen Timer öffne, z.B. die Zeit ändere und wieder schließe mit OK, dann wird an den Anfang der Tabelle gescrollt, oder habe ich da jetzt was falsch gesehen?

                    VG jpgorganizer

                    Weil in diesem Fall u.U. viel verändert wurde, wird die Tabelle neu erstellt. Somit Scroll-Pos oben.
                    Nur das Aktivieren/Deaktivieren wird zur Laufzeit angepasst, ohne reload der Tabelle. Somit bleibt die Scroll-Pos bestehen.

                    soweit so gut, dann bin ich erleichtert, denn ich dachte schon ich habe was kaputt gemacht, aber nichts gesehen, was darauf hindeuten hätte können.

                    Ich habe dann die oben von mir angefragte setState( ....TimerJSON, ... , true) bei ack=true belassen. Das sieht wirklich viel besser aus, wenn er beim Aktivieren/Deaktivieren nicht scrollt. Da wird man ja sonst verrückt. Merci für den Hinweis.

                    VG jpgorganizer

                    Bitte keine Fragen per PN, die gehören ins Forum!

                    ioBroker
                    smartgarden Adapter für GARDENA smart system
                    Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                    jpgorganizerJ 1 Antwort Letzte Antwort
                    0
                    • jpgorganizerJ jpgorganizer

                      @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                      @jpgorganizer sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                      @GiuseppeS

                      jetzt muss ich doch nochmal nachfragen:
                      wenn ich den Editor-Dialog für einen Timer öffne, z.B. die Zeit ändere und wieder schließe mit OK, dann wird an den Anfang der Tabelle gescrollt, oder habe ich da jetzt was falsch gesehen?

                      VG jpgorganizer

                      Weil in diesem Fall u.U. viel verändert wurde, wird die Tabelle neu erstellt. Somit Scroll-Pos oben.
                      Nur das Aktivieren/Deaktivieren wird zur Laufzeit angepasst, ohne reload der Tabelle. Somit bleibt die Scroll-Pos bestehen.

                      soweit so gut, dann bin ich erleichtert, denn ich dachte schon ich habe was kaputt gemacht, aber nichts gesehen, was darauf hindeuten hätte können.

                      Ich habe dann die oben von mir angefragte setState( ....TimerJSON, ... , true) bei ack=true belassen. Das sieht wirklich viel besser aus, wenn er beim Aktivieren/Deaktivieren nicht scrollt. Da wird man ja sonst verrückt. Merci für den Hinweis.

                      VG jpgorganizer

                      jpgorganizerJ Offline
                      jpgorganizerJ Offline
                      jpgorganizer
                      schrieb am zuletzt editiert von jpgorganizer
                      #871

                      @GiuseppeS

                      was mich jetzt aber einige Zeit gekostet hat, war die Suche woher das Script den Namen eines Devices nimmt. Mir war nicht klar, dass er das aus ....common.name holt, denn da steht bei mir die Id des States drin und somit war ich der Meinung, er nimmt die Id.

                      erkannt - behoben 🙂

                      Ich weiß nicht, ob ich da der erste war, bei dem das so nicht geht, aber evtl. kannst du das in die Doku mit aufnehmen.
                      Ich habe da jetzt eine kleine Funktion gemacht, in der man ggfs. das reinschreiben kann, was man braucht.

                      // device_name wird aus dem <id.common.name> geholt
                      // falls er dort nicht steht, dann kann hier eine eigene Funktion zum ermitteln erstellt werden
                      function getDevName(id) {
                      	// selector entsprechend setzen
                      	// und ggfs. Funktion erweitern
                      	let selector = 1;  // 0 ist Standard
                      	
                      	switch (selector) {
                      		case 0: {
                      			// standard
                      			return getObject(id).common.name;
                      			break;
                      		}
                      		case 1: {
                      			// Beispiel für anderen Ort
                      			let ida = id.split('.');
                      			let tid = '';
                      			for (let i = 0; i < ida.length - 1; i++) {
                      				tid += ida[i] + '.';
                      			}
                      			tid += 'Name';
                      			return getState(tid).val;
                      		} // end case
                      	} // end switch
                      }
                      

                      Vmtl. wird das bei den COnditions auch noch so sein? Da bin ich noch nicht.

                      Du brauchst da aber jetzt nichts ändern, warte bis ich dir meinen Code gebe - sonst machen alle das Gleiche, aber anders 🙂

                      VG jpgorganizer

                      Edit: Fehler in Funktion behoben

                      Bitte keine Fragen per PN, die gehören ins Forum!

                      ioBroker
                      smartgarden Adapter für GARDENA smart system
                      Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                      G 1 Antwort Letzte Antwort
                      0
                      • jpgorganizerJ jpgorganizer

                        @GiuseppeS

                        was mich jetzt aber einige Zeit gekostet hat, war die Suche woher das Script den Namen eines Devices nimmt. Mir war nicht klar, dass er das aus ....common.name holt, denn da steht bei mir die Id des States drin und somit war ich der Meinung, er nimmt die Id.

                        erkannt - behoben 🙂

                        Ich weiß nicht, ob ich da der erste war, bei dem das so nicht geht, aber evtl. kannst du das in die Doku mit aufnehmen.
                        Ich habe da jetzt eine kleine Funktion gemacht, in der man ggfs. das reinschreiben kann, was man braucht.

                        // device_name wird aus dem <id.common.name> geholt
                        // falls er dort nicht steht, dann kann hier eine eigene Funktion zum ermitteln erstellt werden
                        function getDevName(id) {
                        	// selector entsprechend setzen
                        	// und ggfs. Funktion erweitern
                        	let selector = 1;  // 0 ist Standard
                        	
                        	switch (selector) {
                        		case 0: {
                        			// standard
                        			return getObject(id).common.name;
                        			break;
                        		}
                        		case 1: {
                        			// Beispiel für anderen Ort
                        			let ida = id.split('.');
                        			let tid = '';
                        			for (let i = 0; i < ida.length - 1; i++) {
                        				tid += ida[i] + '.';
                        			}
                        			tid += 'Name';
                        			return getState(tid).val;
                        		} // end case
                        	} // end switch
                        }
                        

                        Vmtl. wird das bei den COnditions auch noch so sein? Da bin ich noch nicht.

                        Du brauchst da aber jetzt nichts ändern, warte bis ich dir meinen Code gebe - sonst machen alle das Gleiche, aber anders 🙂

                        VG jpgorganizer

                        Edit: Fehler in Funktion behoben

                        G Offline
                        G Offline
                        GiuseppeS
                        schrieb am zuletzt editiert von
                        #872

                        @jpgorganizer

                        Wenn Du soweit bist, kannst du auf Github einfach ein Pull-request absetzen. Bin zwar noch ein github Anfänger aber irgendwie bekomme ich das da schon zusammen gebacken.

                        Anhand deiner Funktion verstehe ich dein Problem. Okay, hatte "wichtige" States selbst immer umbenannt, daher hab ich ehrlich gesagt nie so weit gedacht.Wäre Klasse, wenn Du in der Funktion für den selector eine Variable verwendest und oben im "Variablen-Bereich" neu anlegst. Somit bleibt der Code unterhalb des Kommentar-Bereichs bei jedem User konstant 😉

                        Ansonsten kann ich es selber anpassen und dann hochladen.

                        jpgorganizerJ 2 Antworten Letzte Antwort
                        0
                        • G GiuseppeS

                          @jpgorganizer

                          Wenn Du soweit bist, kannst du auf Github einfach ein Pull-request absetzen. Bin zwar noch ein github Anfänger aber irgendwie bekomme ich das da schon zusammen gebacken.

                          Anhand deiner Funktion verstehe ich dein Problem. Okay, hatte "wichtige" States selbst immer umbenannt, daher hab ich ehrlich gesagt nie so weit gedacht.Wäre Klasse, wenn Du in der Funktion für den selector eine Variable verwendest und oben im "Variablen-Bereich" neu anlegst. Somit bleibt der Code unterhalb des Kommentar-Bereichs bei jedem User konstant 😉

                          Ansonsten kann ich es selber anpassen und dann hochladen.

                          jpgorganizerJ Offline
                          jpgorganizerJ Offline
                          jpgorganizer
                          schrieb am zuletzt editiert von
                          #873

                          @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                          Bin zwar noch ein github Anfänger

                          dann sind wir ja schon mal zu zweit

                          Bitte keine Fragen per PN, die gehören ins Forum!

                          ioBroker
                          smartgarden Adapter für GARDENA smart system
                          Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                          1 Antwort Letzte Antwort
                          1
                          • G GiuseppeS

                            @jpgorganizer

                            Wenn Du soweit bist, kannst du auf Github einfach ein Pull-request absetzen. Bin zwar noch ein github Anfänger aber irgendwie bekomme ich das da schon zusammen gebacken.

                            Anhand deiner Funktion verstehe ich dein Problem. Okay, hatte "wichtige" States selbst immer umbenannt, daher hab ich ehrlich gesagt nie so weit gedacht.Wäre Klasse, wenn Du in der Funktion für den selector eine Variable verwendest und oben im "Variablen-Bereich" neu anlegst. Somit bleibt der Code unterhalb des Kommentar-Bereichs bei jedem User konstant 😉

                            Ansonsten kann ich es selber anpassen und dann hochladen.

                            jpgorganizerJ Offline
                            jpgorganizerJ Offline
                            jpgorganizer
                            schrieb am zuletzt editiert von
                            #874

                            @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                            Anhand deiner Funktion verstehe ich dein Problem. Okay, hatte "wichtige" States selbst immer umbenannt, daher hab ich ehrlich gesagt nie so weit gedacht.Wäre Klasse, wenn Du in der Funktion für den selector eine Variable verwendest und oben im "Variablen-Bereich" neu anlegst. Somit bleibt der Code unterhalb des Kommentar-Bereichs bei jedem User konstant

                            kann ich zwar machen, hatte ich auch überlegt, aber jetzt kann die Funktion zwei Varianten, wenn eine weitere dazukommt, dann muss man programmieren ....

                            Gruß jpgorganizer

                            Bitte keine Fragen per PN, die gehören ins Forum!

                            ioBroker
                            smartgarden Adapter für GARDENA smart system
                            Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                            G 1 Antwort Letzte Antwort
                            0
                            • jpgorganizerJ jpgorganizer

                              @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                              Anhand deiner Funktion verstehe ich dein Problem. Okay, hatte "wichtige" States selbst immer umbenannt, daher hab ich ehrlich gesagt nie so weit gedacht.Wäre Klasse, wenn Du in der Funktion für den selector eine Variable verwendest und oben im "Variablen-Bereich" neu anlegst. Somit bleibt der Code unterhalb des Kommentar-Bereichs bei jedem User konstant

                              kann ich zwar machen, hatte ich auch überlegt, aber jetzt kann die Funktion zwei Varianten, wenn eine weitere dazukommt, dann muss man programmieren ....

                              Gruß jpgorganizer

                              G Offline
                              G Offline
                              GiuseppeS
                              schrieb am zuletzt editiert von
                              #875

                              @jpgorganizer
                              Das passt natürlich. Wenn Du damit durch bist einfach melden 😉
                              Werde das dann im Skript integrieren. Kann ja auch andere User betreffen.

                              jpgorganizerJ 1 Antwort Letzte Antwort
                              0
                              • G GiuseppeS

                                @jpgorganizer
                                Das passt natürlich. Wenn Du damit durch bist einfach melden 😉
                                Werde das dann im Skript integrieren. Kann ja auch andere User betreffen.

                                jpgorganizerJ Offline
                                jpgorganizerJ Offline
                                jpgorganizer
                                schrieb am zuletzt editiert von jpgorganizer
                                #876

                                @GiuseppeS

                                ich teste gerade meine Conditions - geändert habe ich da wissentlich nichts.

                                Ich bekomme beim Setzen im Editor einen Fehler
                                52d7369a-ba27-458d-8555-96d95e611178-grafik.png

                                Wenn ich OFF schreibe, kommt der Fehler, wenn ich "OFF" schreibe, wird es akzeptiert, aber wenn ich wieder reingehe ist das Feld leer. hmmm ???
                                Wenn ich eine 1 reinschreibe, wird sie akzeptiert und steht auch drin, wenn ich wieder reingehe. Nur die 1 nützt mir nichts. Aber soeben wurde die Bedingung dass die Steckdose auf OFF geht erfüllt und nun ist Cond1Result = true und das Feld grün statt bisher rot umrandet. Die Bedingung wird also ausgewertet, nur nicht mehr vollständig angezeigt.

                                Ich schlaf da erst mal drüber. Morgen ist Arbeiten angesagt, mal sehen, ob ich am Abend mich wieder hinsetzen kann und mich der Sache widmen kann.

                                VG jpgorganizer

                                Bitte keine Fragen per PN, die gehören ins Forum!

                                ioBroker
                                smartgarden Adapter für GARDENA smart system
                                Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                                jpgorganizerJ 1 Antwort Letzte Antwort
                                0
                                • jpgorganizerJ jpgorganizer

                                  @GiuseppeS

                                  ich teste gerade meine Conditions - geändert habe ich da wissentlich nichts.

                                  Ich bekomme beim Setzen im Editor einen Fehler
                                  52d7369a-ba27-458d-8555-96d95e611178-grafik.png

                                  Wenn ich OFF schreibe, kommt der Fehler, wenn ich "OFF" schreibe, wird es akzeptiert, aber wenn ich wieder reingehe ist das Feld leer. hmmm ???
                                  Wenn ich eine 1 reinschreibe, wird sie akzeptiert und steht auch drin, wenn ich wieder reingehe. Nur die 1 nützt mir nichts. Aber soeben wurde die Bedingung dass die Steckdose auf OFF geht erfüllt und nun ist Cond1Result = true und das Feld grün statt bisher rot umrandet. Die Bedingung wird also ausgewertet, nur nicht mehr vollständig angezeigt.

                                  Ich schlaf da erst mal drüber. Morgen ist Arbeiten angesagt, mal sehen, ob ich am Abend mich wieder hinsetzen kann und mich der Sache widmen kann.

                                  VG jpgorganizer

                                  jpgorganizerJ Offline
                                  jpgorganizerJ Offline
                                  jpgorganizer
                                  schrieb am zuletzt editiert von
                                  #877

                                  doch noch ein Weilchen gesucht: mit 'OFF' geht es (einfaches Anführungszeichen geht, doppeltes nicht)

                                  Bitte keine Fragen per PN, die gehören ins Forum!

                                  ioBroker
                                  smartgarden Adapter für GARDENA smart system
                                  Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                                  G 1 Antwort Letzte Antwort
                                  0
                                  • jpgorganizerJ jpgorganizer

                                    doch noch ein Weilchen gesucht: mit 'OFF' geht es (einfaches Anführungszeichen geht, doppeltes nicht)

                                    G Offline
                                    G Offline
                                    GiuseppeS
                                    schrieb am zuletzt editiert von
                                    #878

                                    @jpgorganizer
                                    Muss ich mir genauer anschauen. Kann sein, dass ohne Anführungszeichen versucht wird den Wert als Zahl zu interpretieren.

                                    jpgorganizerJ 1 Antwort Letzte Antwort
                                    0
                                    • G GiuseppeS

                                      @jpgorganizer
                                      Muss ich mir genauer anschauen. Kann sein, dass ohne Anführungszeichen versucht wird den Wert als Zahl zu interpretieren.

                                      jpgorganizerJ Offline
                                      jpgorganizerJ Offline
                                      jpgorganizer
                                      schrieb am zuletzt editiert von
                                      #879

                                      @GiuseppeS

                                      ich suche schon einige Zeit, wie man die Astro Funktion nutzen kann. Woher kommen die Daten? Woher weiß das Script, wo ich wohne, bzw. wo stellt man das ein?

                                      Danke und Gruß
                                      jpgorganizer

                                      PS: habe gerade einen PR gestellt mit den Anpassungen/Erweiterungen für MDCSS2 und Listendarstellung mit CompactMode

                                      Bitte keine Fragen per PN, die gehören ins Forum!

                                      ioBroker
                                      smartgarden Adapter für GARDENA smart system
                                      Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                                      G 1 Antwort Letzte Antwort
                                      1
                                      • jpgorganizerJ jpgorganizer

                                        @GiuseppeS

                                        ich suche schon einige Zeit, wie man die Astro Funktion nutzen kann. Woher kommen die Daten? Woher weiß das Script, wo ich wohne, bzw. wo stellt man das ein?

                                        Danke und Gruß
                                        jpgorganizer

                                        PS: habe gerade einen PR gestellt mit den Anpassungen/Erweiterungen für MDCSS2 und Listendarstellung mit CompactMode

                                        G Offline
                                        G Offline
                                        GiuseppeS
                                        schrieb am zuletzt editiert von GiuseppeS
                                        #880

                                        @jpgorganizer
                                        Im iobroker-admin gibt es oben den Schraubenschlüssel. Dort kannst du deinen Wohnort eingeben. Innerhalb von iobroker gibt es Standard blockly oder js, um auf die Zeiten zuzugreifen.

                                        Morgen oder am WE schaue ich mir den Pull Request am bzw. übernehme es in den Standard Code.

                                        Danke für deinen Beitrag👍

                                        jpgorganizerJ 1 Antwort Letzte Antwort
                                        0
                                        • G GiuseppeS

                                          @jpgorganizer
                                          Im iobroker-admin gibt es oben den Schraubenschlüssel. Dort kannst du deinen Wohnort eingeben. Innerhalb von iobroker gibt es Standard blockly oder js, um auf die Zeiten zuzugreifen.

                                          Morgen oder am WE schaue ich mir den Pull Request am bzw. übernehme es in den Standard Code.

                                          Danke für deinen Beitrag👍

                                          jpgorganizerJ Offline
                                          jpgorganizerJ Offline
                                          jpgorganizer
                                          schrieb am zuletzt editiert von
                                          #881

                                          @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                                          m iobroker-admin gibt es oben den Schraubenschlüssel. Dort kannst du deinen Wohnort eingeben. Innerhalb von iobroker gibt es Standard blockly oder js, um auf die Zeiten zuzugreifen.

                                          ah ja, das hatte ich entweder noch nie gesehen oder gleich wieder vergessen.
                                          Und ganz wichtig, danach den javascript Adapter stoppen und wieder starten.

                                          Super, das geht nun auch 🙂

                                          VG jpgorganizer

                                          Bitte keine Fragen per PN, die gehören ins Forum!

                                          ioBroker
                                          smartgarden Adapter für GARDENA smart system
                                          Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                                          jpgorganizerJ 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          747

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe