erste beta - fronthem, smartVISU (closed, Bitte die Anschlussthreads benutzen)

Begonnen von herrmannj, 23 Dezember 2014, 22:36:44

Vorheriges Thema - Nächstes Thema

Tmelle

#90
Habe meinen ersten Fehler gerade noch einmal genauer angesehen.

Habe ein Logging eingebaut und festgestellt, dass in Zeile 437 von 01_fronthem.pl eine Exception auftritt:

Code: $hash->{helper}->{ipc}->{$connection}->{sock}->{TCPDev}->send(encode_json($msg)."\n", 0);
Exception: Cannot determine peer address at ./FHEM/01_fronthem.pm line 437

Nach dem ein Client "hart" getrennt wurde (z.B. durch Aktivierung des Flugmodus) geht anscheinend die Connection kaputt.
(Mein Gedanke: Socket auf fronthem Seite bleibt geöffnet und kriegt nicht mit das der Client nicht mehr lauscht und beim senden knallt es dann)

Gorbi

Hallo,

auch von mir nochmal großes Lob!!!Habe das Thema schon einige Woche beobachtet und mich zwischenzeitlich auch schonmal mit smartvisu auseinander gesetzt. Nach einigen Anlaufschwierigkeiten beim einbinden der Module funktioniert mittlerweile alles wunderbar. Einige Fragen hätte ich allerdings noch...

-Ist es jetzt schon möglich den FS20-Dimmer mit seinen tollen Dim-Steps :P vernünftig einzubinden oder ist das eventuell noch für zukünftige Versionen geplant?Zurzeit läuft er bei mir nur in 25%-Steps.

- Wenn ich ein nur ein reading von einem Device haben möchte, lasse ich im Gad-Editor das cmd-set Feld leer.Nach abspeichern taucht im log allerdings ein set XYZ(Device)....:Unknown argument ? auf.Diese Meldung kommt allerdings nur einmal und das reading wird auch ordnungsgemäß angezigt. Ist das normal?bzw mache ich was falsch?

-und meine letzte Frage:Wenn ich ein zusätliches fronthemDevice einrichte(z.B.) muss ich alle Gad's durchklicken, die Rechte neu setzen und speichern.Gibt es da vielleicht eine elegantere Lösung?

ansonsten bin ich top zufrieden.Endlich ein schönes Frontend :)Super Arbeit!!!

Gruß
Jakob

herrmannj

Hallo Jakob,

Zitat von: Gorbi am 28 Dezember 2014, 18:53:39
-Ist es jetzt schon möglich den FS20-Dimmer mit seinen tollen Dim-Steps :P vernünftig einzubinden oder ist das eventuell noch für zukünftige Versionen geplant?Zurzeit läuft er bei mir nur in 25%-Steps.
ne, dafür kommt noch ein extra converter. Die dimsteps sind doof, hatte das schon an den Rand der Wahrnehmung verdrängt  :) kommt aber.
Zitat
- Wenn ich ein nur ein reading von einem Device haben möchte, lasse ich im Gad-Editor das cmd-set Feld leer.Nach abspeichern taucht im log allerdings ein set XYZ(Device)....:Unknown argument ? auf.Diese Meldung kommt allerdings nur einmal und das reading wird auch ordnungsgemäß angezigt. Ist das normal?bzw mache ich was falsch?
alles richtig. Der Editor fragt die sets für das dropdown beim device per "?" ab. Ich weiß gar nicht ob man das eleganter (also ohne Meldung im log) machen könnte ... ist aber kein Fehler oder so, fhem spuckt das auf die Frage nach den möglichen cmds so ins log.
Zitat
-und meine letzte Frage:Wenn ich ein zusätliches fronthemDevice einrichte(z.B.) muss ich alle Gad's durchklicken, die Rechte neu setzen und speichern.Gibt es da vielleicht eine elegantere Lösung?
Ja, musst Du. Da kommt aber noch was. Im Augenblick ist die Tabelle im Editor ja ein Überblick (mal f5 drücken zwischendurch dann sind oben die Pfeile für read und write drin). Zukünftig:

Variante #1: wäre das man bei der definition eines neuen device ein schon bestehendes angibt und die Berechtigungen von dem übernommen werden. (Das kannst Du jetzt auch schon händisch indem Du die *.cfg unter /www/fronthem/clients/... von device a auf b kopierst, den Namen anpasst und dann das device definierst)

Variante #2: wäre ein attrib "defaultAccess" welches man einfach auf "true" für ein device setzt. Dann würde das device gleich access auf alle items bekommen und die Rechte würden, für dieses device, erst gar nicht beachtet.

Vermutlich beides ..
Zitat
ansonsten bin ich top zufrieden.Endlich ein schönes Frontend :)Super Arbeit!!!
vielen Dank, das lob gehört aber auch den smartVISU Entwicklern - die Jungs haben da gute Ideen umgesetzt.

vg
jörg

herrmannj

Zitat von: Tmelle am 28 Dezember 2014, 17:58:00
Habe meinen ersten Fehler gerade noch einmal genauer angesehen.

Habe ein Logging eingebaut und festgestellt, dass in Zeile 437 von 01_fronthem.pl eine Exception auftritt:

Code: $hash->{helper}->{ipc}->{$connection}->{sock}->{TCPDev}->send(encode_json($msg)."\n", 0);
Exception: Cannot determine peer address at ./FHEM/01_fronthem.pm line 437

Nach dem ein Client "hart" getrennt wurde (z.B. durch Aktivierung des Flugmodus) geht anscheinend die Connection kaputt.
(Mein Gedanke: Socket auf fronthem Seite bleibt geöffnet und kriegt nicht mit das der Client nicht mehr lauscht und beim senden knallt es dann)

Hallo Timo,

das ist in der Tat ein interessantes Verhalten. Ich hab das explizit in den Tests drin - eben auch nochmal versucht. Bei mir kann ich das nicht nachstellen. Da Du ja (vielen Dank) sogar logging eingebaut hast kannst Du mir vmtl folgen.

Der Teil wo die Exception bei Dir auftritt ist der parent Teil, der hat keinen direkten Zugriff auf die Enddevice. Das was Du beschreibst deutet eigentlich an das der gesamte ws server (im fork) gestorben ist ..

Das gewünschte Verhalten ist:
Wenn der client sich verbindet geht der state (am fronthemClient) sofort auf "connected".
Am Iphone (IOS 6) eben nochmal getestet:
Seite geladen (browser oder homescreen), Seite in den Hintergrund (Homebutton): state geht sofort auf "disconnected".
Seite geladen, WLAN ausgeschaltet (slide von unten nach oben damit die Seite nicht "entladen" wird), state bleibt auf connected (das ist nach Plan, könnte ja auch eine kurze Unterbrechung sein). Der ws hat einen "heartbeat" (um router offen zu halten). Nach ca 15min schlägt der heartbeat zu und das device geht auf "disconnected".

Gibt es irgendwas ungewöhnliches an Deiner fhem-host Konfiguration ? (Ich versuche zu verstehen warum es bei Dir anders läuft)

Wenn Du ein list auf das fronthem mit "show hidden" on auff fronthem (die mutter nicht das device) machst sieht Du unter ipc folgende Einträge:

     Ipc:
       Ws:
         name       smartvisu:127.0.0.1:49789
         pid        16109
         Sock:
           FD         12
           NAME       smartvisu:127.0.0.1:49789
           TYPE       fronthem
           buffer
           registered ws
           Parent:

pid ist die pid des geforkten Prozesses (da kommen später noch wss und plots dazu).

Schau doch mal bitte ob der Prozess laut "ps aux" noch lebt wenn Du (nachdem Du) den Flugmodus aktivierst. Wahrscheinlich musst Du das einige Zeit beobachten, vmtl stirbt er erst wenn der heartbeat zuschlägt.

Ansonsten kann ich mir aktuell keinen Reim drauf machen und das auch nicht reproduzieren. Das würde ich aber (hier mit Deiner Hilfe) gerne jagen wollen, ein Absturz ist das nicht tolerierbar.

Ich habe im Vorwege ohnehin viele dieser Szenarien getestet, WLAN an / aus, bin mit dem Ipad aus dem WLAN gelaufen, und wieder zurück, VPN, on off - ich konnte da nix mehr entdecken. Aber wie immer, erstens anders: zweitens als man denkt.

Danke und vg
Jörg

Jojo11

Hallo,

eine kurze Rückmeldung: Es scheint so, als könnte NumDirect nicht ohne Weiteres negative Werte verarbeiten. Ich bastel gerade eine Temperaturanzeige mit LaCrosse-Sensoren und verwende das basic.value-Widget in Verbindung mit NumDirect. Bei Minusgraden wird das "-" nicht angezeigt, sondern nur der Betrag des Wertes (bei -2,5°C also 2,5°C). Mit dem Converter "Direct" funktioniert es.

schöne Grüße
Jo

herrmannj


ak323

#96
Hallo Jörg !
Auch von mir erst mal ein ganz ganz großes Lob an Deine Entwicklerarbeit !

Ich habe FHEM, SV und den Rest soweit installiert ... nur habe ich eine Basis-Frage:
Muß ich in den SV Einstellungen unter I/O "Domotiga" oder "Json" auswählen ... ?

Bei mir schmiert FHEM übrigens auch immer ab, wenn ich das fronthem device in die fhem.cfg schreibe ... irgendeine Idee ?

Viele Grüße ak323
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

Jojo11

Zitat von: ak323 am 28 Dezember 2014, 20:47:40
[...]
Bei mir schmiert FHEM übrigens auch immer ab, wenn ich das fronthem device in die fhem.cfg schreibe ... irgendeine Idee ?

Viele Grüße ak323

Ja: Editiere nicht die fhem.cfg direkt, sondern gib mal define <name> fronthem in die Kommandozeile in fhem ein (save nicht vergessen).

schöne Grüße
Jo

herrmannj

Hi,

zeig mal bitte die beiden define, welche Reihenfolge ? Schreibst Du (wörtlich) in die cfg oder gehst Du über die cmd line von fhem ?

In sv: I/O "Domotiga", ip vom fhem host und port 2121

vg
jörg

jo war schneller :)

ak323

#99
Danke Euch !
Ich habe die fhem.cfg direkt editiert:

define fronthem fronthem
define Notebook fronthemDevice 192.168.2.106

Mit nur dem ersten Eintrag läuft fhem weiter, wenn ich den 2. eingefügt habe stürzt es ab ...

edit:
@jo: wenn ich es über die fhem Kommandozeile eingebe, dann stürzt fhem nicht ab .. !



@jörg: bzgl. SV IO hatte ich das auch so verstanden, dann bekomme ich aber die rote Ecke mit der Meldung, daß der Domotiga Server nicht erreichbar ist ... ?!? (läuft alles auf dem gleichen RPi).

ak323
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

herrmannj

ZitatIch habe die fhem.cfg direkt editiert:
mach nich..

probier mal ganz normal übers webif, so wie Jo sagt. Must aber erst in der cfg wieder heil machen.

Wenn das fronthem läuft geht die rote Ecke auch weg. Ich hab mal aus Versehen Komma statt Punkte in sv bei der IP eingegeben, das sieht man kaum. Hab 'ne Weile gesucht ...  ;)

vg
jörg

Jojo11

Hallo,

hat zufällig schon jemand einen homematic Fensterkontakt erfolgreich eingebunden? Irgendwie will das nicht so ganz klappen  ???

@ak323: Wenn Du die beiden define-Befehle über die kommandozeile eingibst, müsste es funktionieren.

schöne Grüße
Jo

bgewehr

Fensterkontakt läuft bei mir ohne Probleme mit dem Direct Converter. Man muss bei der Definition des Symbols die States des "Switches" mit angeben:

{{ basic.symbol('WZ.fensterauf', 'WZ.fenster', '', icon1~'fts_window_2w_open.png','open') }}


Dann geht's!
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Jojo11


ak323

Zitat von: Jojo11 am 28 Dezember 2014, 21:13:07
Hallo,

hat zufällig schon jemand einen homematic Fensterkontakt erfolgreich eingebunden? Irgendwie will das nicht so ganz klappen  ???

@ak323: Wenn Du die beiden define-Befehle über die kommandozeile eingibst, müsste es funktionieren.

schöne Grüße
Jo

Jo/Jörg,
sorry muß revidieren: Geht auch nicht wenn ich die beiden Definifionen per Kommondozeile von fhem eingebe !
Bekomme auf dem RPi folgende Fehlermeldung:

pi@raspberrypi ~ $ $VAR1 = {
          'cmd' => 'gadList'
        };
Type of argument to keys on reference must be unblessed hashref or arrayref at ./FHEM/31_fronthemDevice.pm line 112.


Irgendeine weitere Idee ?
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...