Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie Item Werte von sh nach shNG übernehmen??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Wie Item Werte von sh nach shNG übernehmen??

    Hallo!

    Hab mich endlich getraut von sh auf das neue shNG umzustellen.
    Läuft auch alles sehr gut...

    ABER:

    Ich hatte einige items, die einen bestimmten Wert hatten.
    Code:
    [Berechnung]
    
        [[WC]]
                cache = yes
                sqlite = yes
                visu_acl = rw
                type = num
                enforce_updates = yes 
                eval = sh.Berechnung.WC()+1 if sh.EG.WC_schalten() == True else None
                eval_trigger = EG.WC_schalten
    Nach der Neuinstallation hat das Item natürlich den Wert 0.
    Habe auch die Cache-Datei von sh in shNG kopiert. Wert bleibt aber 0.

    Wie lassen sich die Werte am einfachsten ändern??

    Gruß Max

    #2
    Du müßtest da auch die SQLite Datenbank kopieren. Wobei das oben doppelt gemoppelt ist: cache = yes und sqlite = yes macht eigentlich das gleiche. Allerdings gewinnt nur einer. Bei Dir gewinnt offenbar das Plugin mit der 0 ;-)

    Wenn Du die Items im laufenden Betrieb manuell ändern möchtest bietet sich das CLI Plugin oder auch das Backend Plugin an.

    Kommentar


      #3
      Mit dem Backend Plugin hab ich es schon versucht. Aber wie verändere ich die Werte, dass sie auch bleiben?
      Ich kann einen Wert im Feld "Value" ändern. Aber wenn ich wo anders hinklicke, springt der Wert wieder zurück.

      Kommentar


        #4
        In der PLugin.conf beim Backend PLugin hast Du updates_allowed = True gesetzt? Und wenn Du einen Wert im Backend geändert hast, drückst Du auch auf Return?

        Kommentar


          #5
          Ja und Ja

          Code:
          [BackendServer]
              class_name = BackendServer
              class_path = plugins.backend
              #ip = xxx.xxx.xxx.xxx
              #port = 8383
              updates_allowed = True
              #threads = 8
              #user = admin
              #password = very_secure_password
              #language = en
              #developer_mode = on
          Hab mir jetzt eine Logik gebaut, die die Werte setzen soll.
          Logik läuft auch, die Werte bleiben aber gleich.

          Code:
          sh.Berechnung.LichtGaeste(1321)
          sh.Berechnung.LichtVorraum1(1451)
          sh.Berechnung.WC(1915)
          sh.Berechnung.LichtStiegeKG(3581)
          sh.Berechnung.LichtWohnen(1148)
          sh.Berechnung.LichtWohnen_Led(18)
          sh.Berechnung.LichtEssen(927)
          sh.Berechnung.LichtKochen(616)
          sh.Berechnung.LichtTerrasseBoden(245)
          sh.Berechnung.LichtTerrasseWand(116)
          sh.Berechnung.LichtEingang(5545)
          sh.Berechnung.LichtRGB(103)
          sh.Berechnung.LichtStiegeOG(1591)
          sh.Berechnung.LichtBadSpiegel(421)
          sh.Berechnung.LichtBadDecke(2103)
          sh.Berechnung.LichtSchlafzimmer(962)
          sh.Berechnung.LichtKinderzimmer1(162)
          sh.Berechnung.LichtKinderzimmer2(208)
          sh.Berechnung.LichtGallerie(467)

          Kommentar


            #6
            Schonmal SmartHomeNG im Debug Modus gestartet und geschaut, was da für Meldungen kommen?

            Kommentar


              #7
              Ich bin mir nicht sicher, aber ich vermute das Problem im Zusammenhang mit dem eval.
              Per CLI und Logik wird beim setzen eines Wertes das eval ausgeführt, der Wert lässt sich also nicht direkt setzen.
              Wie sich das mit dem Backend Plugin verhält, weiss ich nicht. Aber deine Versuche deuten darauf hin, dass es ebenfalls so ist.

              Leider kann ich dir aber auch nicht mit Sicherheit sagen, wie du das eval umgehen könntest.

              Evtl. funktioniert es, wenn du im Item Berechnen.WC das Attribut value mit dem gewünschten Startwert angibst und einmal ein eval auslöst, indem du einen Wert setzt oder noch besser indem du sh.EG.WC_schalten auf true setzt.
              Danach musst du wahrscheinlich das value wieder entfernen, damit der Wert beim nächsten Neustart nicht wieder zurückgesetzt wird.


              Ich erlaube mir noch eine Bemerkung, die nichts mit deinem Problem zu tun hat.
              Dein eval liesse sich wohl folgendermassen etwas eleganter formulieren (ungetestet):
              Code:
              eval = self()+1 if value == True else None

              Kommentar


                #8
                Danke für eure Tipps!!

                Es lag tatsächlich am eval. Ich habe die evals in den items auskommentiert.
                Nach dem reboot die Logik gestartet. Dann die evals wieder aktiviert.
                (Ohne eval lassen sich die items auch im Backend Plugin ändern)
                Jetzt passen die Werte wieder

                smai Danke für den Hinweis. Wenn alle "Umstellungsprobleme" behoben sind, werde ich es testen

                So, dann mach ich einen neuen Thread für das vorläufig letzte Problem auf...

                Kommentar

                Lädt...
                X