Erstellte Forenantworten
-
AutorBeiträge
-
adminAdministrator
Hi,
ich denke mit Update Box meinst du das Popup-Menü, welches aufgeht wenn du mit der Maus über das entsprechende Device bewegst oder meinst du die Eingabebox mit der man ein Attributwert ändern kann? Generell ist es so, dass bei einer Änderung an irgendeinem der Attributwerte die Webseite einfach neugeladen wird. Das führt dann dazu, dass ein geöffnetes Popup-Menü geschlossen wird, das lässt sich so auch nicht abstellen. Allerdings wird dir ja der aktuelle Wert des ersten Attributs neben dem Device-Namen angezeigt:
Falls du mehrere Attribute für ein Device hast und die weiteren trotzdem gerne ohne das Popup öffnen zu müssen sehen möchtest, kannst du sie ja immer noch in separate Devices splitten.
adminAdministratorHi,
die Unterstützung für Shell-Scripte ist nun in der Version 0.4 enhalten. Viel Spaß beim Basteln…
adminAdministratorHi,
die neue Version mit der Unterstützung von Shell-Scripts und Trigger ist fertig. Jetzt musst du nur noch rausfinden wie du E-Mails von deinem Pi per Kommandozeile verschicken kannst. Vielleicht ist dir aber eine sofortige Benachrichtigung per Push-Notification aufs Smartphone ja lieber? Dafür habe ich schon eine Lösung in den Beispielen.
adminAdministratorHi,
ja das ist seit der neuesten Version so, da man nun Device-Attribute nicht nur anzeigen sondern auch schreiben kann. Aus diesem Grund werden alle Attribute nun auch im Popup-Menü angezeigt, damit man sie anklicken und setzen kann. Aber ich verstehe das Problem nicht so ganz. Das Popup ist doch nur dann zu sehen, wenn du mit der Maus über den Eintrag des „Device“ fährst? Wenn du den Status überhaupt nicht sehen willst, kannst du das Attribut doch auch aus deiner config.xml löschen.
Viele Grüße,
Tobias26. März 2015 um 11:20 als Antwort auf: Getrennt: Rollo-ZPos UDF Block meldet als Position immer 1 #1074adminAdministratorDas schlimme ist ja: in der Simulation funktioniert der Block einwandfrei, nur auf der Hardware dann nicht. Ich habe irgendwie das Gefühl, dass das Problem auch erst mit der Logo 0ba8 besteht. Kann mich jedenfalls nicht daran erinnern, dass ich auf der 0ba7 das mal hatte.
26. März 2015 um 9:47 als Antwort auf: NetIO App Controller Rückmeldung als *.png (formatResponse) #1070adminAdministratorDir ursprüngliche Frage wurde geklärt. Die 2 weiteren Fragen wurden der übersichtlichkeit wegen in 2 neue Themen aufgesplittet:
Rollo-ZPos UDF Block meldet als Position immer 1
Gruppen in WebUI nebeneinander anzeigen
Thema ist geschlossen.
26. März 2015 um 9:28 als Antwort auf: Getrennt: Rollo-ZPos UDF Block meldet als Position immer 1 #1060adminAdministratorWenn in LogoControl der Zustand „Zwischenstellung“ angezeigt wird, dann liest LogoControl diesen Zustand auch wirklich aus dem VM der Logo, das Problem ist also irgendwo im Schaltprogramm zu suchen. Ich erinnere mich an ein ähnliches Problem, dass mir schon mal ein User berichtet hat. Du hast eine 0ba8, oder? Versuch mal bitte den Eingang zpos des UDF-Blocks nicht unbeschaltet zu lassen (also irgendeinen anderen Eingang oder einfach „Low“). Funktioniert es dann?
adminAdministratorBitteschön:
<infrastructure> <group name="Links"> <group name="Untergruppe Links"> </group> </group> <group name="Mitte"> <group name="Untergruppe Mitte"> </group> </group> <group name="Rechts"> <group name="Untergruppe Rechts"> </group> </group> </infrastructure>
24. März 2015 um 10:29 als Antwort auf: NetIO App Controller Rückmeldung als *.png (formatResponse) #1022adminAdministratorHm, also unter Android funktioniert das auf jeden Fall problemlos, dass ich den selben Button mit wechselndem Image für die Anzeige als auch zur Bedienung mit „sends“ Befehl nutzen kann. Ist vielleicht ein Bug in der iOS-Version von NetIO und kann ich mangels iOS Device auch nicht nachvollziehen. Aber noch ne Idee: Nimm mal anstatt „sends“ den „release“-Befehl, welcher nicht bereits beim Drücken des Buttons sondern erst beim Loslassen verschickt wird.
23. März 2015 um 16:14 als Antwort auf: NetIO App Controller Rückmeldung als *.png (formatResponse) #1012adminAdministratorAlso deine Dateien heißen: „Lampe_ein.png“ und „Lampe_aus.png“, richtig?
In LogoControl hast du folgenden valuetext-Block definiert?
<attribute id="?" name="Status" address="???.?" datatype="bit"> <valuetext value="0" text="aus" /> <valuetext value="1" text="ein" /> </attribute>
Dann brauchst du folgende formatResponse:
„icon.Lampe_{0}.png“{0} ist nur ein Platzhalter für eine String-Replace-Funktion in NetIO. Es hat nichts mit dem Wert 0 deiner Lampe zu tun. Der Platzhalter wird von NetIO einfach nur mit dem Text „aus“ oder „ein“ ersetzt. Wichtig ist nur, dass der Text aus deinem valuetext-Block mit dem Teil aus deinem Dateinamen übereinstimmt.
23. März 2015 um 14:45 als Antwort auf: NetIO App Controller Rückmeldung als *.png (formatResponse) #1010adminAdministratorDas hängt davon ab, ob du mit parseResponse den ValueText (bei dir „ein“ und „aus“, richtig?) oder den Value (reiner Zahlwert, also 0 oder 1 für einen Bitwert) aus der LogoControl Antwort extrahierst. Ich kopier dir mal hier einen Textbaustein rein von einer Mail die ich vor einiger Zeit an jemand anderen geschrieben hatte:
Das Worker-Label fragt von LogoControl in regelmäßigem Abständen (interval) die Liste der Werte von LogoControl an. Das macht es indem es folgende URL aufruft:
http://logocontrol:8088/rest/attributesDie Antwort, die von LogoControl zurück kommt ist im JSON-Format und sieht ungefähr so aus:
[
{„__type“:“AttributeUpdate:#LogoControl.DataModel“,“DeviceId“:1,“AttributeId“:1,“Value“:2,“ValueText“:“offen“},
{„__type“:“AttributeUpdate:#LogoControl.DataModel“,“DeviceId“:2,“AttributeId“:1,“Value“:2,“ValueText“:“offen“},
{„__type“:“AttributeUpdate:#LogoControl.DataModel“,“DeviceId“:3,“AttributeId“:1,“Value“:2,“ValueText“:“offen“},
{„__type“:“AttributeUpdate:#LogoControl.DataModel“,“DeviceId“:4,“AttributeId“:1,“Value“:2,“ValueText“:“offen“},
{„__type“:“AttributeUpdate:#LogoControl.DataModel“,“DeviceId“:5,“AttributeId“:1,“Value“:0,“ValueText“:“aus“}
]In dieser Antwort sind nun 5 Geräte enthalten und in ValueText steht der begehrte Wert für die Anzeige. Wie aber weiß nun ein Label, Button, Slider usw. welches den Status von DeviceId=3 anzeigen soll wie es an den Text „offen“ aus der Antwort kommt? Hier kommt nun das „parseResponse“ ins Spiel. Jedes Element, dass sich aus der globalen Antwort bedienen und seinen Wert herausfischen möchte muss eine „parseResponse“ definieren. Eine solche „parseResponse“ ist ein sogenannter „Regulärer Audruck“. Reguläre Ausdrücke sind sehr mächtig aber für Neulinge auch sehr schwer zu verstehen, das gebe ich zu. Im Prinzip sind sie nichts anderes wie eine Art Suchmuster um einen Text in einem großen Text zu finden. Du musst sie aber auch gar nicht verstehen, sondern einfach verwenden. In der LogoControl-Demo habe ich ja bereits einen „parseResponse“ definiert. Auch auf meiner Seite habe ich die zwei Ausdrucke beschrieben die zum Ermitteln von Value und ValueText nötig sind. Für ValueText z.B.:
(?<="DeviceId":1,"AttributeId":1,"Value":[^,]{0,10}[^,]{0,10},"ValueText":")[^"]* Alles was du tun musst ist die ID bei DeviceId und AttributeId durch deine benötigten auszutauschen. Damit erhälst du nun den "ValueText" aus der langen Antwort von LogoControl. Ich gehe jetzt einfach mal davon aus, dass du für dein Attribut "Ventil" in LogoControl entsprechende ValueTexte angelegt hast, z.B. 0=zu und 1=auf. Der reguläre Ausdruck liefert dann also beispielsweise "zu" zurück und mittels formatResponse in NetIO setzt du diesen Textschnipsel dann ein, indem du formatRespone="icon.ventil_symbol_{0}.png" definierst. NetIO macht daraus dann ein "icon.ventil_symbol_zu.png" wenn der ValueText="zu" ist und lädt damit die Datei "ventil_symbol_zu.png" aus dem iTunes Filesharing Verzeichnis.
Wegen deiner anderen Frage: in der Weboberfläche werden die Gruppen auf oberster Ebene alle nebeneinander und alle Gruppen auf Ebene 2-6 untereinander dargestellt. Du musst für eine zweite Spalte also lediglich eine weitere Gruppe auf oberster Ebene in deiner Config.xml anlegen.
23. März 2015 um 12:52 als Antwort auf: NetIO App Controller Rückmeldung als *.png (formatResponse) #1006adminAdministratorHi Thorsten,
doch, der Vorschlag von virility ist schon der richtige. Zumindest unter Android funktioniert es bei mir. Das ganze steht auch so in der Doku: Response Handling (dort unter „Change Attributes during runtime“)
Was hast du denn bei formatResponse eingetragen? Wenn deine Bild-Dateien „aus.png“ und „ein.png“ heißen muss bei formatResponse „icon.{0}.png“ stehen. Die {0} ist dann ein Platzhalter für deinen Wert.
adminAdministratorHi,
dein Problem sieht irgendwie so aus, als ob mit der Installation des Mono-Frameworks etwas nicht geklappt hätte, die im Fehler bemängelte Abhängigkeit System.Web.ApplicationServices gehört jedenfalls zu Mono. Verwendest du einen Pi 1 oder 2? Welches Betriebssystem, Raspbian? Kannst du bitte mal ein „mono –version“ auf der Shell ausführen und hier posten?
23. März 2015 um 0:58 als Antwort auf: Website http://logocontrol:8088/config.st nicht verfügbar #996adminAdministratorHinweis: Ich habe das Problem von Andre in einen neuen Thread verschoben, da es sich um einen anderen Fehler handelt.
Hi virility,
danke für dein Lob zum Support und den schnellen Antworten. Dieses mal hats nicht so geklappt 😉 Also aus den Logfiles konnte ich jetzt keinen „harten“ Absturz erkennen. Das „Reconnect failed“ mit der Connection-Broken Exception kommt immer dann wenn die Verbindung zur Logo unterbrochen war. Das passiert z.B. auch dann wenn du ein neues Schaltprogramm auf die Logo überspielst oder die Logo stoppst. Gerade ersteres kann dazu führen, dass die Verbindung zur Logo über die LibNoDave so „kaputt“ ist, dass ein Verbindungsaufbau erst nach dem Abschießen des LogoControl-Prozesses (pkill mono) möglich ist. Neben planmäßigen Verbindungsabbrüchen durch Starten/Stoppen, Übertragen des Schaltprogramms taucht dieser Fehler bei mir im Log aber höchstens alle paar Tage mal auf, dann aber ohne Folgen und LogoControl kann die Verbindung ganz normal wiederherstellen. Was mich eher interessiert ist, ob wirklich die Verbindung zur Logo das Problem ist oder doch eher die Weboberfläche, die abstürzt. Hast du bei dir bereits HTTP und HTTPS aktiv? Falls nicht mach das mal bitte und versuche beim nächsten Mal wenn LogoControl nicht über die HTTP-Verbindung auf 8088 erreichbar ist einfach die HTTPS-Variante unter 8080. Auf den beiden Ports laufen nämlich getrennte WebServer-Prozesse und wenn es den einen in den Abgrund reißt, sollte der anderen noch erreichbar sein.
20. März 2015 um 15:29 als Antwort auf: Website http://logocontrol:8088/config.st nicht verfügbar #985adminAdministratorKannst du in solch einem Fall (also wenn der Dienst gerade nicht erreichbar ist) bitte mal per SSH oder WinSCP auf den Pi gehen und die /var/tmp/LogoControl.log hier posten? Evlt. noch die /home/pi/nohup.out ?
-
AutorBeiträge