Ankündigung

Einklappen
Keine Ankündigung bisher.

Item State Uninitialized

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

    Item State Uninitialized

    Aloha,

    nach einiger Zeit habe ich jetzt den Wechsel von MisterHouse zu openHAB 1.4.0 gewagt so weit so gut. Die Programmierung habe ich größtenteils abgeschlossen und auch fleißig den openHAB Designer verwendet, jedoch funktionieren einige Rules überhaupt nicht.

    Anbei ein paar Items aus meiner switch.items:
    Code:
    Contact Fenster_Kueche_Links	"Küche links [MAP(de.map):%s]"		(gContacts)		{ knx="<2/5/0" }
    Contact Fenster_Kueche_Tuer	"Küchentür [MAP(de.map):%s]"		(gContacts)		{ knx="<2/5/1" }
    Contact Haustuer		"Haustür [MAP(de.map):%s]"		(gContacts)	 	{ knx="<4/5/0" }
    Contact Garagentor_auf		"Garage auf [MAP(de.map):%s]"		(gContacts)		{ knx="<4/5/1" }
    Contact Garagentor_zu		"Garage zu [MAP(de.map):%s]"		(gContacts)		{ knx="<4/5/2" }
    Switch Night			"Night mode"		<moon>					(gScene)
    Switch Einslive			"1Live"			<network>				(gScene)
    Switch	Licht_Haustuer				"Licht_Haustuer"		<switch>	(gLights,gOutdoor)		{ knx="<4/0/0" }
    Switch	Licht_LED_Garage			"Licht_LED_Garage"		<switch>	(gOutdoor)			{ knx="<4/0/3" }
    m
    und hier meine raffstore.rules (Zwecks Debugging, habe ich ein paar Log-Einträge eingebaut):
    Code:
    rule "Close Raffstores night"
    when
            Item Raffstore_Abends changed from OFF to ON
    then
            logInfo("FILE","Raffstore Abends initiated...")
            raffPos = 100
            postUpdate(Raffstore_Morgens, OFF)
            logInfo("FILE", "+++Shutdown Raffstores to 100%.")
            logInfo("FILE", "+++Küchentür is " + Fenster_Kueche_Tuer.state)
            if(Fenster_Kueche_Tuer.state == CLOSED) {
                    postUpdate(Kueche_West, raffPos)
                    postUpdate(Kueche_West_Lamelle, raffPos)
            }
            postUpdate(Kueche_Sued_Lamelle, raffPos)
            postUpdate(Essen_Sued_Lamelle, raffPos)
            postUpdate(Essen_West_Lamelle, raffPos)
            postUpdate(Wohnzimmer_West, raffPos)
    end
    Ich verwende das KNX-Binding, jedoch das dumme ist nur, dass sich nach einiger Zeit der Status für einige Items von ON/OPEN oder OFF/CLOSED auf Uninitialized ändert. Mein Problem ist dann, dass ich ja nicht mehr weiß ob die Tür zu oder auf ist.

    Bin ich irgendwie zu behämmert? Mache ich irgendwas falsch? Muss ich die Devices über ETS anders programmieren?
    Komischerweise haben die gleichen Schalter/Kontakte mit MisterHouse tadellos funktioniert. Ich hoffe mir kann jemand einen Tipp geben
    Danke,
    Manolo

    #2
    Ohne Zutun habe ich es noch nie erlebt, dass der Item Wert selbsttätig geändert wird.

    Ändert sich vielleicht eine Datei mit Items, dann werden alle neu initialisiert oder gibt es sonst noch eine Regel die die Items schreibt.

    Im ersten Fall könnte ein Persistence Service mit der Option "Restore on Startup" helfen.

    Kommentar


      #3
      hmmm...danke Jockel!

      Also werden Items bei Änderung des *.items Files in den Status Uninitialized versetzt? Eventuell lag dort mein Denkfehler?!
      Danke, Manolo

      Kommentar


        #4
        Wenn Du die Konfigurationsfiles änderst so werden deren Einstellungen neu eingelesen und initialisiert. So mußt Du für Änderungen nicht immer neu starten (ist also ein Feature und kein Bug ;-) ).

        Wenn Du also ein Item änderst dann bekommt openHAB die Änderung des Files mit und liest alle darin enthaltenen Definitionen neu ein. Damit sind dann auch einige Items erstmal ununitialisiert bis sie einen Wert bekommen (je nach Binding kann da ein wenig dauern).

        Das funktionert auch bei den Sitemaps, Rules und Scripts. Lediglich bei Änderungen an der zentralen openhab.cfg starte ich noch durch.

        Kommentar


          #5
          Hi Reddick,

          danke für das Feedback!
          Stimmt das mit dem erneut Laden der Configs zur Laufzeit habe ich auch festgestellt, war mir nur nicht bewusst, dass die Items initialisiert werden.
          Komischerweise funktioniert es jetzt auch einwandfrei.

          Mittlerweile laufen die meisten Sachen...sogar meine Applescripte um iMessages zu verschicken und iTunes zu steuern!

          Jetzt bin ich gerade dabei mir die CometVISU zu installieren....das ist ja richtig cool

          Kommentar


            #6
            Hallo
            Es kann aber schon eine etwas längere Zeit dauern das ein Wert per KNX gesendet wird, bis dahin stimmt aber der Status nicht.
            Wenn man das vermeiden will muss man bei den KNX Items das < Zeichen
            " {knx="<2/1/1"} " einfügen und openhab neu starten.
            Gruß NetFritz
            KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
            WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
            PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

            Kommentar


              #7
              Hallo zusammen,

              da ich derzeit Urlaub habe, wage ich mich an die Konfiguration von OpenHAB. Leider habe ich das selbe Problem wie der Threaderöffner, jedoch bin ich mir sicher das die Items nicht "uninitialized" sind.

              Die Garage läuft nicht per KNX sondern mit einem PI/Powerline wegen fehlender Verkabelung.

              Items
              Code:
              Contact Door_GarageDoor "Garage [MAP(gpio.map):%d]"     { http="<[http://admysecet:mysecret@192.168.3.20:8000/garage/door:5000:REGEX(*)]" }^M
              Switch  Door_GarageDoor_button  "Garage Door Opener"    <remotecontrol> { autoupdate="false" }^M
              Rules
              Code:
              ule updateGarageDoorContact
              when
                  Item Door_GarageDoor_button received command ON
              then
                  logInfo("Garage","Garagentaster gedrueckt")
                  if(Door_GarageDoor.state == OPEN) {
                           logInfo("Garage","Garage bereits geschlossen") 
                           logInfo("Garage","Garage " + Door_GarageDoor.state + " LOG")
                  } else {
                           logInfo("Garage","Garage wird geschlossen")
                           logInfo("Garage","Garage " + Door_GarageDoor.state + " LOG")
                           sendHttpPostRequest("http://admin:mysecret@192.168.3.20:8000/GPIO/8.....")
                      }
              end
              Logging
              Code:
              2014-12-30 10:43:25.328 [INFO ] [rg.openhab.model.script.Garage] - Garagentaster gedrueckt
              2014-12-30 10:43:25.875 [INFO ] [rg.openhab.model.script.Garage] - Garage wird geschlossen
              2014-12-30 10:43:26.315 [INFO ] [rg.openhab.model.script.Garage] - Garage Uninitialized LOG
              Events
              Code:
              2014-12-30 10:43:14 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:19 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:24 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:25 - Door_GarageDoor_button received command ON
              2014-12-30 10:43:29 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:34 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:39 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:44 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:49 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:54 - Door_GarageDoor state updated to 0
              2014-12-30 10:43:59 - Door_GarageDoor state updated to 0
              2014-12-30 10:44:04 - Door_GarageDoor state updated to 0
              2014-12-30 10:44:09 - Door_GarageDoor state updated to 0
              Map
              Code:
              root@pi:~# cat /opt/openhab/configurations/transform/gpio.map 
              0=GESCHLOSSEN
              1=OFFEN
              undefinde=UNKNOWN
              -=UNKNOWN
              Habt ihr noch eine Idee ? Das hat mich bereits 3h gekostet

              Kommentar


                #8
                Hi Schnulli,

                komisch ist das schon. Laut deinem Log ändert sich der Status innerhalb von Millisekunden vom Uninitialized zu 0? Was zeigt denn deine openHAB GUI an? Dort müsste ja auch der Status zu sehen sein?

                Eigentlich sind die Items initial "Uninitialized" so lange sie noch keinen Wert zugewiesen bekommen haben z.B. nach dem Neustart. Aus diesem Grund verwende ich Persistence für einige Werte.

                Vielleicht kannst du den Status von Door_GarageDoor einmal ganz am Anfang und am Ende der Regel loggen? Wenn das alles Unitialized ist, dann wurde der Wert nie gesetzt.
                Beste Grüße, Manolo

                Kommentar


                  #9
                  Zitat von pheno Beitrag anzeigen
                  Hi Schnulli,

                  Was zeigt denn deine openHAB GUI an? Dort müsste ja auch der Status zu sehen sein?
                  Vielen Dank für die Rückmeldung, im GUI / Android App sehe ich die Garage als GESCHLOSSEN / 0 ->



                  Logging in der Rule davor und danach zeigt UNINITALIZED.

                  Muss ich das Contact Item in den Rules anders behandeln ?

                  Kommentar


                    #10
                    Habs jetzt mit einem Number Item für den Door_Garage_Door Status gelöst

                    Kommentar

                    Lädt...
                    X