Hallo Zusammen,
gibt es so eine -> http://www.rainer-rebhan.de/HomeCtrl/HV_Start.htm (//www.rainer-rebhan.de/HomeCtrl/HV_Start.htm) <- GUI für FHEM?
Diese basiert auf AJAX/JavaScript/HTML und ist daher plattformunabhängig.
Wenn nicht, wird das mein nächstes Projekt :)
Damit das Wandtablet optisch ansprechender wird :)
Gruß
Hallo,
Beam me up Scotty ;-)
Raumschiff Enterprise lässt grüßen.
Aber sieht ganz gut aus.
Grüße
Das erste Design des GUI steht:
(siehe Anhang / see attachement)
Es wurde nur AJAX/JavaScript/HTML/CSS genutzt. Keine Bilder.
Die Menü Buttons und die Status Werte, können über FHEM konfiguriert werden.
Die gezeigten Temp Status Werte, werden alle 10 Sekunden via AJAX aktualisiert.
Die Darstellung, wurde im Firefox und im Android Browser getestet. Auf dem Ipad sollte es aber auch richtig dargestellt werden.
Alle Farben, werden später via FHEM cfg frei konfigurierbar sein.
Wie findet Ihr das GUI bis jetzt?
geil geil geil :-D
wenn du betatester brauchst , stelle mich gerne zur verfügung :-P
Hallo,
wenn das auch auf einem RasPi läuft mit Anleitung was installiert werden muss bin ich auch dabei ;-)
Einen hab ich noch frei zum "testen"
Grüße
So neuer Status :)
(siehe Anhang / see attachement)
Es können Temperatur,Luftfeuchtigkeit und on/off Devices eingebunden werden.
Buttons/Statuswerte, können in frei wählbaren Abschnitten eingebunden werden.
Klicken/Touchen für AN/AUS geht auch schon.
Sieht gut aus,
aber wie setzt Du das um?
Wärst Du ggf. bereit den Quellcode zur Verfügung zu stellen?
Gruß,
Thorsten
Zitat von: thoweiss schrieb am Do, 06 Juni 2013 12:53Sieht gut aus,
aber wie setzt Du das um?
Wärst Du ggf. bereit den Quellcode zur Verfügung zu stellen?
Gruß,
Thorsten
html/css <- Darstellung
javascript/ajax <- Daten verarbeiten/senden und Aktionen ausführen bzw reagieren
json <- Schnittstelle zu FHEM z.B.
http://fhemipoderhostname:8083/fhem?cmd=jsonlist DEVICENAME&XHR=1
Jeder Browser der die Standards unterstützt, kann diese GUI anzeigen.
Wenn die die Grundversion fertig ist, werde ich diese hier veröffentlichen.
Module für andere Devices werden folgen.
So die erste Beta ist da bitte testen!
Anleitung:
- Entpacken
- Den Ordner viewFHEM nach "<fhemroot>/www" kopieren
-
http://fhemip:8083/fhem/viewFHEM/index.html (//fhemip:8083/fhem/viewFHEM/index.html) zum Test aufrufen[/list]
fhem.cfg:
#Anpassen ... sind die schon vorhandenen Attribute
attr global userattr ... item1 item2 item3 item4 item5 item6 item7 item8 item9 item10 item11 item12 item13 item14 item15 item16 item17 item18 item19 item20
#Menu Button hinzufügen
#"attr viewFHEM_menu itemNUMMER DummyDeviceFuerDiesenButton|Text des Buttons"
define viewFHEM_menu dummy
attr viewFHEM_menu item1 viewFHEM_status|Status
attr viewFHEM_menu item2 viewFHEM_Keller|Keller
attr viewFHEM_menu item3 viewFHEM_button3|Button3
#DummyDeviceFuerDiesenButton Module hinzufügen
#define DummyDeviceFuerDiesenButton dummy
#"attr DummyDeviceFuerDiesenButton itemNUMMER SensorOderOnOffDevicezBDummyOderSteckdose|reading_zB_state_oder_temperature_oder_humidity_oder_onoff_fuer_click_button|Beschreibungs Text|Position_1_2_3_oder_4"
define viewFHEM_status dummy
attr viewFHEM_status item1 Temp_Wohnung|temperature|Temperatur Wohnung in °C|1
attr viewFHEM_status item2 Temp_Wohnung|humidity|Luftfeuchtigkeit Wohnung in %|2
attr viewFHEM_status item3 Temp_Terrasse|temperature|Temperatur Terrasse in °C|1
attr viewFHEM_status item4 Temp_Terrasse|humidity|Luftfeuchtigkeit Terrasse in %|2
attr viewFHEM_status item5 Deckenstrahler|onoff|Deckenstrahler|2
attr viewFHEM_status item6 Bett_LED|onoff|Bett LED|3
define viewFHEM_Keller dummy
attr viewFHEM_Keller item1 Waschmaschine_Status|state|Waschmaschine|1
Prima,
danke - werde ich gleich einmal ausprobieren.
Gruß,
Thorsten
Sehr cool.
Wenn wieder zu Hause bin, werde ich es ausprobieren :-)
Hallo,
vielen Dank dafür!
Funktioniert schon gut bei mir. Gefällt mir gut. Auch die Struktur der Definitionen finde ich nicht schlecht.
Bei mir taucht aus mir unbekannten Gründen derzeit immer noch ein zusätzlicher Menüpunkt "undefined" auf und jedes Reading, das 3-4 Zeichen überschreitet passt nicht ins dafür vorgesehen Feld, aber ansonsten schön gemacht. Bitte weitermachen!
Da es über JSON läuft, müsste das mit angepassten Pfaden ja auch außerhalb des FHEM-Servers funktionieren, oder?
Gruß
Carsten
Zitat von: Carsten schrieb am Fr, 07 Juni 2013 22:52Hallo,
vielen Dank dafür!
Funktioniert schon gut bei mir. Gefällt mir gut. Auch die Struktur der Definitionen finde ich nicht schlecht.
Bei mir taucht aus mir unbekannten Gründen derzeit immer noch ein zusätzlicher Menüpunkt "undefined" auf und jedes Reading, das 3-4 Zeichen überschreitet passt nicht ins dafür vorgesehen Feld, aber ansonsten schön gemacht. Bitte weitermachen!
Da es über JSON läuft, müsste das mit angepassten Pfaden ja auch außerhalb des FHEM-Servers funktionieren, oder?
Gruß
Carsten
Kannst du deine viewFHEM_menu Config hier mal posten? Was für Readings meinst du die größer 4 zeichen sein?
Ein screenshot wäre auch nicht schlecht.
Neu
- Farben für on off state -> für jeden Button festlegbar
- Schriftgröße für jeden Button festlegbar
Anleitung:
Optionen hinter onoff:
[on:left>backcolor:00FF00]
(siehe Anhang / see attachement)
[off:left>backcolor:00FF00]
(siehe Anhang / see attachement)
[on:state>color:00FF00>size:1em]
(siehe Anhang / see attachement)
[off:state>color:FF0000>size:1em]
(siehe Anhang / see attachement)
Für diese Bilder war kein Upload Slot Frei
[on:label>backcolor:00FF00>color:000000>size:1.2em]
[off:label>backcolor:FF0000>color:000000>size:1.2em]
z.B.
attr DummyDeviceFuerDiesenButton itemNummer DeviceName|onoff[on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Deckenstrahler|2
Alle Einstellungen sind frei kombinierbar einfach [...][...][...] usw. hintereinander
Zitat von: fhem86 schrieb am Sa, 08 Juni 2013 09:33Kannst du deine viewFHEM_menu Config hier mal posten? Was für Readings meinst du die größer 4 zeichen sein?
Ein screenshot wäre auch nicht schlecht.
Hi,
so sieht derzeit meine Testeinrichtung aus:
define viewFHEM_menu dummy
attr viewFHEM_menu item1 viewFHEM_status|Status
attr viewFHEM_menu item2 viewFHEM_Heizung|Heizung
attr viewFHEM_menu room ViewTest
define viewFHEM_status dummy
attr viewFHEM_status item1 Carsten|state|Carsten|1
attr viewFHEM_status room ViewTest
define viewFHEM_Heizung dummy
attr viewFHEM_Heizung item1 bd_Therme|state|Therme|1
attr viewFHEM_Heizung item2 wz_Heizung|measured-temp|Wohnzimmer|1
attr viewFHEM_Heizung item3 bd_Heizung|measured-temp|Bad|2
attr viewFHEM_Heizung room ViewTest
Ich hab zum Testen auch nur die userattribute item1 - item3 angelegt. Das sollte aber doch eigentlich keinen Unterschied machen, oder?
Auf dem Screenshot sieht man beides. Sowohl den Undefined-Eintrag als auch das Reading, dass nicht ins Feld passt.
(siehe Anhang / see attachement)
Darstellung wurde nochmal verbessert
Das room Attribut wird ignoriert :)
Bitte testen!
@Carsten Wie soll das Statusfeld den aussehen, damit das ganze Wort 'Anwesend' reinpasst?
Als Beschreiben: Carsten Anwesend als status on/off, würde passen.
Wenn du eine Idee für eine passende Optik/Darstellung hast, kann ich diese gerne als Modul einbauen.
Neu:
- Neues Attribut name um den angezeigten Status zu ändern
[on:state>name:JA][off:state>name:NEIN][/list]
@Carsten so z.B.
(siehe Anhang / see attachement)
attr viewFHEM_status item7 Carsten|state[on:left>backcolor:00FF00][off:left>backcolor:FF0000][on:state>name:JA>size:1.2em][off:state>name:NEIN>size:1.2em]|Carsten Anwesend|1
(siehe Anhang / see attachement)
Ein aktuelles Feedback wäre gut :)
Hallo,
gerade nochmal mit der aktuellen Version getestet. Funktioniert und gefällt mir gut.
Das undefined ist jetzt weg. Kam das vom Room?
Die on/off-Attribute funktionieren auch nur bei on/off-states, oder? Im Moment steht halt direkt in meinem Anwesenheits-Dummy "Anwesend"/"Abwesend".
Dass man aufgrund des nicht unendlichen Platzes pro Spalte irgendwo eine Grenze für die Textbreite ziehen muss ist mir klar. 3-4 Zeichen finde ich aber auch etwas knapp. Für Temperaturen, Luftfeuchtigkeit usw., wo der Wert vor dem Komma 3 Stellen nie überschreitet, reichts ja auch und den Text in meinem Anwesenheits-Dummy könnte ich problemlos in ON/OFF ändern, aber z.B. beim Wetter ("bewölkt", "sonnig" etc ) oder z.B. Stromzählern könnte es schnell eng werden. Aber eine konkrete Idee habe ich auch nicht.
Schön wäre die Möglichkeit, zusätzliche Readings in die Caption zu integrieren und das eigentliche Valuefeld optional ausblendbar zu machen.
So, dass man sowas definieren könnte wie
attr viewFHEM_status item7 Wetter|temp_c|Wetter: <Wetter.condition>|1
und in der View stünde dann in der Caption "Wetter: sonnig" und im Value die Temperatur oder der Value wird eben komplett ausgeblendet, falls er für das jeweilige Element keinen Sinn macht.
Ob das mit vertretbarem Aufwand umsetzbar ist, kann ich allerdings nicht abschätzen.
Zitat von: Carsten schrieb am Sa, 08 Juni 2013 22:27Hallo,
gerade nochmal mit der aktuellen Version getestet. Funktioniert und gefällt mir gut.
Das undefined ist jetzt weg. Kam das vom Room?
Die on/off-Attribute funktionieren auch nur bei on/off-states, oder? Im Moment steht halt direkt in meinem Anwesenheits-Dummy "Anwesend"/"Abwesend".
Dass man aufgrund des nicht unendlichen Platzes pro Spalte irgendwo eine Grenze für die Textbreite ziehen muss ist mir klar. 3-4 Zeichen finde ich aber auch etwas knapp. Für Temperaturen, Luftfeuchtigkeit usw., wo der Wert vor dem Komma 3 Stellen nie überschreitet, reichts ja auch und den Text in meinem Anwesenheits-Dummy könnte ich problemlos in ON/OFF ändern, aber z.B. beim Wetter ("bewölkt", "sonnig" etc ) oder z.B. Stromzählern könnte es schnell eng werden. Aber eine konkrete Idee habe ich auch nicht.
Schön wäre die Möglichkeit, zusätzliche Readings in die Caption zu integrieren und das eigentliche Valuefeld optional ausblendbar zu machen.
So, dass man sowas definieren könnte wie
attr viewFHEM_status item7 Wetter|temp_c|Wetter: <Wetter.condition>|1
und in der View stünde dann in der Caption "Wetter: sonnig" und im Value die Temperatur oder der Value wird eben komplett ausgeblendet, falls er für das jeweilige Element keinen Sinn macht.
Ob das mit vertretbarem Aufwand umsetzbar ist, kann ich allerdings nicht abschätzen.
Sollte kein Problem sein, baue ich ein.
Man kann die Schriftgröße im Status Feld aber auch ändern. Dann passt mehr Text rein.
Ist beides auf der Todo Liste :)
Todo:
- Statusfeld ausblendbar machen
- state in Caption/Beschreibung integrieren
- Slider Modul
- Optionen auch für reine Statusfelder
(siehe Anhang / see attachement)
Code Zeile 1 (Das State Feld, wird mit dem width Attribut vergrößert/Die states Anwesend/Abwesend werden wie on/off definiert):
attr viewFHEM_status item7 Carsten|state[state>width:90>size:1.1em][label>size:1.1em][Anwesend:left>backcolor:00FF00][Abwesend:left>backcolor:FF0000}|Carsten|3
Code Zeile 2 (Das State Feld wird entfernt/Der Platzhalter state im Label wird durch den state ersetzt/Die states Anwesend/Abwesend werden wie on/off definiert):
attr viewFHEM_status item8 Carsten|state[state>hide][label>size:1.1em][Anwesend:left>backcolor:00FF00][Abwesend:left>backcolor:FF0000}|Carsten: state|3
Gute Arbeit!
Gefällt mir echt gut.
Die bessere Hälfte darf nur nie erfahren, dass das Layout ursprünglich durch Star Trek inspiriert ist ;)
Neu:
- Default Farben können definiert werden
Anleitung:
#Anpassen -> zu wenig Attribute :)
attr global userattr ... item1 item2 item3 item4 item5 item6 item7 item8 item9 item10 item11 item12 item13 item14 item15 item16 item17 item18 item19 item20 item21 item22 item23 item24 item25 item26 item27 item28 item29 item30
#Default Config kann genutzt werden, muss aber nicht!
define viewFHEM_config dummy
attr viewFHEM_config room viewFHEM
attr viewFHEM_config item1 background|color|0000FF
attr viewFHEM_config item2 topleft|color|111111
attr viewFHEM_config item3 topright|color|004444
attr viewFHEM_config item4 bottomleft|color|008888
attr viewFHEM_config item5 bottomright|color|005544
attr viewFHEM_config item6 menuspace|color|00F800
attr viewFHEM_config item7 menubutton|color|770088
attr viewFHEM_config item8 menubuttonselect|color|005500
attr viewFHEM_config item9 menubutton|textcolor|00FF00
attr viewFHEM_config item10 menubuttonselect|textcolor|000000
attr viewFHEM_config item11 statusviewleft|color|005500
attr viewFHEM_config item12 statusviewlabel|color|00FF00
attr viewFHEM_config item13 statusviewstate|color|FFFFFF
attr viewFHEM_config item14 statusviewlabel|textcolor|000000
attr viewFHEM_config item15 statusviewstate|textcolor|FF0000
attr viewFHEM_config item16 onoffviewleft|color_on|00FF00
attr viewFHEM_config item17 onoffviewleft|color_off|FF0000
attr viewFHEM_config item18 onoffviewlabel|color_on|0000FF
attr viewFHEM_config item19 onoffviewlabel|color_off|001100
attr viewFHEM_config item20 onoffviewstate|color_on|FFFFFF
attr viewFHEM_config item21 onoffviewstate|color_off|000000
attr viewFHEM_config item22 onoffviewlabel|textcolor_on|000000
attr viewFHEM_config item23 onoffviewlabel|textcolor_off|FF0000
attr viewFHEM_config item24 onoffviewstate|textcolor_on|000000
attr viewFHEM_config item25 onoffviewstate|textcolor_off|00FF00
Ergebnis :)
(siehe Anhang / see attachement)
> attr global userattr ... item1 item2 item3...
Man koennte auch item.* spezifizieren, es sei denn man will diese Attribute per FHEMWEB dropdown pflegen.
Oder man kopiert dummy.pm, um diese Attribute nicht allen anderen Geraeten anzuhaengen.
> Ergebnis :)
Mit diesen Farben kommen wir nicht ins Geschaeft...
Will sagen, ich weigere mich das hier auf fhem.de zu verlinken :)
Hallo!
Erstmal finde ich es super was du hier geschaffen hast, bin schon die ganze Zeit am Basteln:-)
Nun habe ich eine kurze frage und das mal kurz zu was anderem wenn es ok ist?
Denn ich bekomme das Anwesend oder Abwesend nicht angezeigt in der Ansicht(viewFhem) nur present und absent,
habe auch Eventmap und Webcmd versucht aber das klappt auch nicht.
Obwohl er bei STATE:Anwesend anzeigt, nur bei Readings state:present an?!
Vielleicht eine kleine Tip am Rande von euch;-)
Mfg Steffen
Hallo,
ich benutze nicht das Presence-Modul. Das gab es noch nicht, als ich es eingebaut habe.
Den Status, der in der FHEMWeb-Ansicht angezeigt wird, kannst du mittels Eventmap umrouten, also z.B. absent -> Abwesend. Das ist das großgeschriebene "STATE". Das ändert aber nichts am eigentlichen Wert des Readings (kleingeschriebenes "state"). Die View benutzt die Readings. Da musst du das mapping nochmal einbauen.
z.B. so:
attr DeinDummy item1 DeinPresence|state[present:state>name:Anwesend][absent:state>name:Abwesend]Caption|1
Neu:
Anleitung:
attr DummyDeviceFuerDiesenButton itemNummer meinTickerDevice|ticker|länge des Tickers 1-4|Position 1-4
#Wie im Screenshot z.B.:
attr viewFHEM_status item0 meinTicker|ticker|3|1
(siehe Anhang / see attachement)
Zitat von: Carsten schrieb am So, 09 Juni 2013 19:21Hallo,
ich benutze nicht das Presence-Modul. Das gab es noch nicht, als ich es eingebaut habe.
Den Status, der in der FHEMWeb-Ansicht angezeigt wird, kannst du mittels Eventmap umrouten, also z.B. absent -> Abwesend. Das ist das großgeschriebene "STATE". Das ändert aber nichts am eigentlichen Wert des Readings (kleingeschriebenes "state"). Die View benutzt die Readings. Da musst du das mapping nochmal einbauen.
z.B. so:
attr DeinDummy item1 DeinPresence|state[present:state>name:Anwesend][absent:state>name:Abwesend]Caption|1
danke aber klappt leider auch nicht, zeigt immer noch present an. Hier mal meine Config:
attr viewFHEM_status item2 Steffen|state[present:state>name:Anwesend][absent:state>name:Abwesend]|Steffen|2
define Steffen PRESENCE lan-bluetooth xxxxxxx xxxxxxx
attr Steffen PRESENCE AlleHandy
attr Steffen Presence AlleHandy
attr Steffen devStateIcon Anwesend:HOME_Status.1 Abwesend:HOME_Status.3
attr Steffen event-on-change-reading state
attr Steffen eventMap /present:Anwesend/absent:Abwesend/
attr Steffen icon icoHandy
Vielleicht noch ne andere Idee???
Zitat von: Steffen schrieb am So, 09 Juni 2013 19:44Zitat von: Carsten schrieb am So, 09 Juni 2013 19:21Hallo,
ich benutze nicht das Presence-Modul. Das gab es noch nicht, als ich es eingebaut habe.
Den Status, der in der FHEMWeb-Ansicht angezeigt wird, kannst du mittels Eventmap umrouten, also z.B. absent -> Abwesend. Das ist das großgeschriebene "STATE". Das ändert aber nichts am eigentlichen Wert des Readings (kleingeschriebenes "state"). Die View benutzt die Readings. Da musst du das mapping nochmal einbauen.
z.B. so:
attr DeinDummy item1 DeinPresence|state[present:state>name:Anwesend][absent:state>name:Abwesend]Caption|1
danke aber klappt leider auch nicht, zeigt immer noch present an. Hier mal meine Config:
attr viewFHEM_status item2 Steffen|state[present:state>name:Anwesend][absent:state>name:Abwesend]|Steffen|2
define Steffen PRESENCE lan-bluetooth xxxxxxx xxxxxxx
attr Steffen PRESENCE AlleHandy
attr Steffen Presence AlleHandy
attr Steffen devStateIcon Anwesend:HOME_Status.1 Abwesend:HOME_Status.3
attr Steffen event-on-change-reading state
attr Steffen eventMap /present:Anwesend/absent:Abwesend/
attr Steffen icon icoHandy
Vielleicht noch ne andere Idee???
Ich habe:
attr viewFHEM_status item2 Steffen|state[present:state>name:Anwesend][absent:state>name:Abwesend]|Steffen|2
mal mit einem dummy getestet. Es funktioniert.
Poste hier mal bitte den Text von:
http://fhemip:8083/fhem?cmd=jsonlist Steffen&XHR=1
Zitat von: fhem86 schrieb am So, 09 Juni 2013 19:54Zitat von: Steffen schrieb am So, 09 Juni 2013 19:44Zitat von: Carsten schrieb am So, 09 Juni 2013 19:21Hallo,
ich benutze nicht das Presence-Modul. Das gab es noch nicht, als ich es eingebaut habe.
Den Status, der in der FHEMWeb-Ansicht angezeigt wird, kannst du mittels Eventmap umrouten, also z.B. absent -> Abwesend. Das ist das großgeschriebene "STATE". Das ändert aber nichts am eigentlichen Wert des Readings (kleingeschriebenes "state"). Die View benutzt die Readings. Da musst du das mapping nochmal einbauen.
z.B. so:
attr DeinDummy item1 DeinPresence|state[present:state>name:Anwesend][absent:state>name:Abwesend]Caption|1
danke aber klappt leider auch nicht, zeigt immer noch present an. Hier mal meine Config:
attr viewFHEM_status item2 Steffen|state[present:state>name:Anwesend][absent:state>name:Abwesend]|Steffen|2
define Steffen PRESENCE lan-bluetooth xxxxxxx xxxxxxx
attr Steffen PRESENCE AlleHandy
attr Steffen Presence AlleHandy
attr Steffen devStateIcon Anwesend:HOME_Status.1 Abwesend:HOME_Status.3
attr Steffen event-on-change-reading state
attr Steffen eventMap /present:Anwesend/absent:Abwesend/
attr Steffen icon icoHandy
Vielleicht noch ne andere Idee???
Ich habe:
attr viewFHEM_status item2 Steffen|state[present:state>name:Anwesend][absent:state>name:Abwesend]|Steffen|2
mal mit einem dummy getestet. Es funktioniert.
Poste hier mal bitte den Text von:
http://fhemip:8083/fhem?cmd=jsonlist Steffen&XHR=1
ok danke schon mal für deine Hilfe, hier der Code:
{
"ResultSet": {
"Results": {
"ADDRESS": "18:E2:C2:4A:2F:19",
"ATTRIBUTES": {
"PRESENCE": "AlleHandy",
"Presence": "AlleHandy",
"devStateIcon": "Anwesend:HOME_Status.1 Abwesend:HOME_Status.3",
"event-on-change-reading": "state",
"eventMap": "/present:Anwesend/absent:Abwesend/",
"icon": "icoHandy"
},
"CHANGED": "null",
"DEF": "lan-bluetooth 18:E2:C2:4A:2F:19 192.168.178.42:5222",
"DeviceName": "192.168.178.42:5222",
"FD": "27",
"MODE": "lan-bluetooth",
"NAME": "Steffen",
"NR": "173",
"PARTIAL": "null",
"READINGS": {
"command_accepted": {
"TIME": "2013-06-09 20:00:35",
"VAL": "yes"
},
"device_name": {
"TIME": "2013-06-09 20:01:11",
"VAL": "Ewi"
},
"room": {
"TIME": "2013-06-09 20:01:11",
"VAL": "Arbeitszimmer,Wohnzimmer"
},
"state": {
"TIME": "2013-06-09 20:01:11",
"VAL": "present"
}
},
"STATE": "Anwesend",
"TIMEOUT_NORMAL": "30",
"TIMEOUT_PRESENT": "30",
"TYPE": "PRESENCE",
"helper": {
"null": "null"
}
}
}
}
Bitte nicht jedesmal den kompletten Strang zitieren!
Welche Version der viewfhem.zip hast du denn genommen? Mit der/den ersten gehts noch nicht.
Ja sorry, hatte ich dann auch gemerkt...
habe immer die Aktuellste genommen.
Bei meinem Sensor für Tür(HM-SEC-RHS) ist auch so, da zeigt er auch nur closed statt Terrasse_ZU:
define Terrassen_Eingang CUL_HM 1F1ABE
attr Terrassen_Eingang .devInfo 910101
attr Terrassen_Eingang .stc 80
attr Terrassen_Eingang actCycle 028:00
attr Terrassen_Eingang actStatus alive
attr Terrassen_Eingang eventMap /open:Terrasse_Offen/closed:Terrasse_Zu/tilted:Terrasse_Gekippt/
attr Terrassen_Eingang expert 2_full
attr Terrassen_Eingang firmware 2.0
attr Terrassen_Eingang model HM-SEC-RHS
attr Terrassen_Eingang peerIDs
attr Terrassen_Eingang room CUL_HM
attr Terrassen_Eingang serialNr KEQ0016961
attr Terrassen_Eingang subType threeStateSensor
define FileLog_Terrassen_Eingang FileLog ./log/Terrassen_Eingang-%Y.log Terrassen_Eingang
attr FileLog_Terrassen_Eingang logtype text
attr FileLog_Terrassen_Eingang room CUL_HM
@Steffen
probier mal diese Version
Das Problem bei dir ist/war:
Reading->State ist ungleich State:
Zitat von: fhem86 schrieb am So, 09 Juni 2013 20:50@Steffen
probier mal diese Version
Das Problem bei dir ist/war:
Reading->State ist ungleich State:
Super danke, jetzt klappt es und zwar mit diesem Code:
attr viewFHEM_status item5 Steffen|state[present:state>name:Anwesend][absent:state>name:Abwesend][state>width:90>size:1.1em][label>size:1.1em][Anwesend:left>backcolor:00FF00][Abwesend:left>backcolor:FF0000}|Steffen|2
auch bei Terrasse:
attr viewFHEM_status item6 Terrassen_Eingang|state[closed:state>name:Terrasse_Zu][open:state>name:Terrasse_Offen][tilted:state>name:Terrasse_Gekippt][state>width:90>size:1.1em][label>size:1.1em][Anwesend:left>backcolor:00FF00][Abwesend:left>backcolor:FF0000}|Terrasse|1
nochmals vielen dank für eure Mühe und Geduld...
Mfg Steffen
Hallo!
Ok jetzt doch nochmal eine frage und zwar habe ich es jetzt so gelöst:
attr viewFHEM_status item5 Steffen|state[present:state>name:Anwesend][absent:state>name:Abwesend][state>width:90>size:1.1em][label>size:1.1em][present:left>backcolor:00FF00][present:state>backcolor:00FF00][absent:state>backcolor:FF0000][absent:left>backcolor:FF0000}|Steffen|2
damit habe ich ja die Farben auf einen bestimmten dummy(Steffen) angepasst, wie kann ich jetzt noch die Textfarbe von state(Anwesend) ändern?
Die Hintergrund Farbe habe ich irgendwie hinbekommen, aber bei Text-Farbe da komme ich leider alleine nicht weiter.
Mfg Steffen
@Steffen
[present:state>backcolor:00FF00>color:dieFarbe][absent:state>backcolor:FF0000>color:dieFarbe]
Zitat von: fhem86 schrieb am So, 09 Juni 2013 21:59@Steffen
[present:state>backcolor:00FF00>color:dieFarbe][absent:state>backcolor:FF0000>color:dieFarbe]
Danke, genau das ist es...
Neu:
- Ticker läuft in die richtige Richtung :) rechts -> links
Welche Module/Steuerelemente, wollt/braucht ihr für viewFHEM noch?
Hallo!
Wäre es vielleicht möglich Wetter Weblinks einzufügen von yahoo oder anderen, so als 5Tage ansicht oder ein live stream einer Ü-Cam???
Ansonsten finde ichi es super und bastel schon weile rum;-)
Mfg Steffeb
Hi,
ich habs zumindest schon mal zum laufen gebracht, das ist auch nicht so schwiergi. Allerdings muss ich hier nochmals nachfragen, was meinst Du mit:
#Anpassen ... sind die schon vorhandenen Attribute
attr global userattr ... item1 item2
... #Anpassen ... sind die schon vorhandenen Attribute
was muss da bei ... stehen? Sorry wegen der Nachfrage, aber ich verstehs noch nicht so ganz ;-)
Danke
Gruß,
Tino B
Zitat von: oniT schrieb am Di, 11 Juni 2013 22:01Hi,
ich habs zumindest schon mal zum laufen gebracht, das ist auch nicht so schwiergi. Allerdings muss ich hier nochmals nachfragen, was meinst Du mit:
#Anpassen ... sind die schon vorhandenen Attribute
attr global userattr ... item1 item2
... #Anpassen ... sind die schon vorhandenen Attribute
was muss da bei ... stehen? Sorry wegen der Nachfrage, aber ich verstehs noch nicht so ganz ;-)
Danke
Gruß,
Tino B
Wenn es "attr global userattr" noch nicht gibt:
attr global userattr item.*
Wenn es "attr global userattr" schon gibt:
attr global userattr alle_alten_Attribute item.*
mit item.* kann man itemIRGENDWAS als Attribute hinzufügen
@Steffen
Hast du eine Beispiel webcam zum testen für mich?
Mit dem Wetter muss ich mal schauen, wie man das am besten darstellen kann.
Ach Daniel, Danke,
jetzt wo ich den Eintrag in der fhem.cfg vergleiche verstehe ich was gemeint ist. Ja nee is klar, manchmal steht man aber auch sowas von auf dem Schlauch ...
Gruß,
TinoB
Zitat von: fhem86 schrieb am Di, 11 Juni 2013 22:39@Steffen
Hast du eine Beispiel webcam zum testen für mich?
Mit dem Wetter muss ich mal schauen, wie man das am besten darstellen kann.
Hallo!
Leider noch nicht, aber wollte mir eine zulegen und wenn man das dann im viewFhem darstellen könnte,
würde für mich die Sache rund machen.
Kann man den Schrift Stil und die Größe der Schrift im Menu vielleicht auch ändern???
Mfg Steffen
Zitat von: fhem86 schrieb am Di, 11 Juni 2013 19:56Welche Module/Steuerelemente, wollt/braucht ihr für viewFHEM noch?
Schön wär, wenn man über die GUI auch steuern könnte.
Hattest du nicht sowieso schon einen Slider geplant?
@Steffen
Schriftgröße für das Menu baue ich noch ein.
@Carsten
1. Slider ist geplant (wie wird der wert gesetzt auch mit "set device wert" ? Soll der Wert erst gesetzt werden, wenn mouseup oder touchende oder wirklich zum dimmen also bei jeder Änderung? Ich frage, weil ich so dein Device nicht besitze :))
2. Was meinst du mit steuern? Ist Button an/aus schalten kein steuern?
Hi,
kann man auch die Textgröße der Menüeinträge ändern? Und wenn ja, wie?
Ach erledigt, Frage wurde ja bereits beantwortet.
Danke
Gruß,
TinoB
Zitat von: fhem86 schrieb am Mi, 12 Juni 2013 17:29@Carsten
1. Slider ist geplant (wie wird der wert gesetzt auch mit "set device wert" ? Soll der Wert erst gesetzt werden, wenn mouseup oder touchende oder wirklich zum dimmen also bei jeder Änderung? Ich frage, weil ich so dein Device nicht besitze :))
2. Was meinst du mit steuern? Ist Button an/aus schalten kein steuern?
1. Mouseup wäre wahrscheinlich besser, sonst verursacht man eine Menge Funkverkehr. Bei meinem HM-Dimmer geht es mit set device wert. Ich weiß aber nicht, ob das bei allen Dimmern/Rolladen etc. so ist.
2. Doch klar, ich wusste nur nicht, dass an/aus schon geht. Ist das so?
@Carsten
z.B.
attr viewFHEM_status item5 Deckenstrahler|onoff[on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Deckenstrahler|3
onoff bedeutet es ist klickbar
Wie findet ihr das Wettermodul?
(siehe Anhang / see attachement)
nicht schlecht
aber die schrift müsste echt geändert werden , die ist echt zu pixelig :-/
Zitat von: Jumbo schrieb am Do, 13 Juni 2013 21:02nicht schlecht
aber die schrift müsste echt geändert werden , die ist echt zu pixelig :-/
pixelig = zu klein? oder was bedeutet pixelig?
Die Schrift Größe, kann wie bei allen Modulen geändert werden.
ist es nicht möglich ne andere schriftart zu nehmen arial oder so ? geht das ?
die ist "runder"
Todo:
- Slider Modul
- Wetter Modul
- Menu -> Style
- Style -> Font
Wenn ich etwas auf der Todo Liste vergessen haben, bitte melden.
Hallo!
Das Wetter Modul gefällt mir sehr, was für mich die Sache noch abrunden würde,
wäre die Schrift-art und Größe zu ändern(Menu) oder geht das schon und ich habe es noch nicht bemerkt?!
Danke für die Mühe und dieses Modul...
Mfg Steffen
webcam ?
folgendes :
Jemand klingelt -> FS20 funk sendet signal -> Kamera schwenkt auf Tür -> Pop Up im GUI , mit der Hand auf's Tablet drücken (Bild z.b.) und die tür geht auf (Homematic Key) -> Kamera schwenkt in ursprungsposition zurück :-D
Das wär doch was
Zitat von: Jumbo schrieb am Do, 13 Juni 2013 21:25webcam ?
folgendes :
Jemand klingelt -> FS20 funk sendet signal -> Kamera schwenkt auf Tür -> Pop Up im GUI , mit der Hand auf's Tablet drücken (Bild z.b.) und die tür geht auf (Homematic Key) -> Kamera schwenkt in ursprungsposition zurück :-D
Das wär doch was
Ich kann eine Popup On Event Funktion einbauen. Wo z.B auch eine Webcam mit onClick(FHEM Befehl) angezeigt werden kann. Den Rest der Logic, musst du in FHEM abbilden.
So etwas wäre ok?
jo , weil das war bis jetzt immer das problem. das andere ist easy hinzubekommen :-D
Zitat von: Jumbo schrieb am Do, 13 Juni 2013 22:09jo , weil das war bis jetzt immer das problem. das andere ist easy hinzubekommen :-D
Was für einen Webcam Stream hast du jpeg?
ich nutze den videostream.cgi
ist das jpeg ? bin mir net sicher.
ist eine Instar 4010
Zitat von: Jumbo schrieb am Do, 13 Juni 2013 22:19ich nutze den videostream.cgi
ist das jpeg ? bin mir net sicher.
ist eine Instar 4010
wie bindest du die cam in websites ein <img src="videostream.cgi"> ? wenn ja ist es ein jpeg stream
im moment habe ich es so gemacht :
define kamera_2_Stream weblink htmlCode <a target="popup" onclick="window.open ('', 'popup', 'width=320,height=240,scrollbars=no, toolbar=no,status=no,resizable=yes,menubar=no,location=no,directories=no,top=600,left=1310') "href="http://192.168.1.48:91/videostream.cgi?user=root&pwd=1234&resolution=8&rate=15 (//192.168.1.48:91/videostream.cgi?user=root&pwd=1234&resolution=8&rate=15)"><img src="/fhem/icons/Cam.png" width="50" height="50" border="0" alt="Kamera"></a>
Neue Default Optionen:
define viewFHEM_config dummy
attr viewFHEM_config item26 menubutton|font|Courier
attr viewFHEM_config item27 menubuttonselect|font|Arial
attr viewFHEM_config item28 menubutton|size|1em
attr viewFHEM_config item29 menubuttonselect|size|0.5em
attr viewFHEM_config item30 statusviewlabel|size|2em
attr viewFHEM_config item31 statusviewstate|size|0.5em
Neue Custom Option:
Fonts
Beispiel:
[label>font:Courier]
oder
[state>size:2em>color:0000FF>font:Courier][label>size:0.8em>color:00FF00>font:Arial]
usw.
Neues Modul Weather(Wetter):
woeid von http://woeid.rosselliot.co.nz/lookup/ oder http://weather.yahoo.com/
define meinWetterDevice dummy
set meinWetterDevice woeid
attr viewFHEM_status item2 meinWetterDevice|weather|BreitexHöhe|position
z.B.
attr viewFHEM_status item2 meinWetterDevice|weather[state>size:1em>backcolor:00FF00][label>size:1em>backcolor:0000FF]|3x3|1
geil . sofort mal testen :-D
ich krieg das mit der Font nicht hint für den Status
menubutton ist ok , das geht. aber Status.
wäre das denn hier so ? :
attr viewFHEM_config item30 statusviewlabel|font|Arial
attr viewFHEM_config item31 statusviewstate|font|Arial
?
oder müsste ich es so machen ?
attr viewFHEM_status item1 S300TH|temperature|Temperatur Terrasse in °C|1[label>font:Arial]
danke für die hilfe :-D
@Jumbo
attr viewFHEM_status item1 S300TH|temperature[label>font:Arial]|Temperatur Terrasse in °C|1
Die Optionen kommen immer hinter das reading. In deinem Fall "temperature"
ok , und wo kommt das hin für den statusviewstate hin ?
Neu:
Popup mit onClick(FHEM Command) für z.B. Webcam oder Sonstige Urls
(siehe Anhang / see attachement)
Anleitung:
attr viewFHEM_config item31 meinPopupDevice|popup
define meinPopupDevice dummy
#Popup anzeigen
set meinPopupDevice popup|breite|höhe|url|fhem Befehl
#z.B.
set meinPopupDevice popup|400|400|/fhem|set Tuer on
Zitat von: Jumbo schrieb am Fr, 14 Juni 2013 20:32ok , und wo kommt das hin für den statusviewstate hin ?
attr viewFHEM_status item1 S300TH|temperature[label>font:Arial][state>font:Arial]|Temperatur Terrasse in °C|1
Könnt ihr einen Screenshot mit Webcam im Popup posten? Mal schauen wie das aussieht :)
mach ich , gib mir paar minuten bis ich es am laufen hab :-D
ich hab jetzt mal das hier :
kommt aber kein popup :
define meinPopupDevice dummy
set meinPopupDevice popup|400|400|"http://192.168.1.48:90/videostream.cgi?&resolution=8&rate=15 (//192.168.1.48:90/videostream.cgi?&resolution=8&rate=15)"|/fhem|set Tuer on
Zitat von: Jumbo schrieb am Fr, 14 Juni 2013 21:30ich hab jetzt mal das hier :
kommt aber kein popup :
define meinPopupDevice dummy
set meinPopupDevice popup|400|400|"http://192.168.1.48:90/videostream.cgi?&resolution=8&rate=15"|/fhem|set Tuer on
set meinPopupDevice popup|400|400|http://192.168.1.48:90/videostream.cgi?&resolution=8&rate=15|set Tuer on
Hallo!
Komme leider auch nicht weiter, hier meine config in cfg:
define Ragow1Device dummy
set Ragow1Device http://de.wetter.yahoo.com/deutschland/brandenburg/mittenwalde-12832109/
attr viewFHEM_status item8 Ragow1Device|weather[state>size:1em>backcolor:00FF00][label>size:1em>backcolor:0000FF]|3x3|1
beim Aufruf von viewFHEM kommt "Something went Wrong"???
Was mache ich falsch?
Mfg Steffen
(siehe Anhang / see attachement)
geil :-D
Zitat von: Steffen schrieb am Fr, 14 Juni 2013 21:40Hallo!
Komme leider auch nicht weiter, hier meine config in cfg:
define Ragow1Device dummy
set Ragow1Device http://de.wetter.yahoo.com/deutschland/brandenburg/mittenwalde-12832109/
attr viewFHEM_status item8 Ragow1Device|weather[state>size:1em>backcolor:00FF00][label>size:1em>backcolor:0000FF]|3x3|1
beim Aufruf von viewFHEM kommt "Something went Wrong"???
Was mache ich falsch?
Mfg Steffen
woeid nicht die ganze url
set Ragow1Device 12832109
Gruß
@Jumbo
Die Größe des Popups kannst du ja noch kleiner machen.
War das Popup nicht zentriert?
geht das dass man z.b. wie in meinem bild jetzt , eine leerzeile lassen kann zwischen 2 verschiedenen status meldungen ?
dass nicht alles so aufeinander ist ? weist was ich meine ?
so :
doch doch ist zentriert.
hab die grösse des fensters auch angepasst. allerdings wenn ich den browser nach unten ziehe , also das fenster grösser mache, dann wird auch der popup nach unten gezogen...
siehe bild :
(siehe Anhang / see attachement)
Das ist richtig so.
Die Popup größe, wird immer beim push gesetzt.
Änderst du die Browser größe im Produktiveinsatz?
Das Space Modul (Platzhalter) ist schon in arbeit :)
nein , normalerweise nicht :-D
auf nem tablet machst das ja net ;-)
bin ja hier am testen auf nem Mac, und dachte es wäre ein bug
Neu:
Popup Background-Color und Border Color änderbar
Space Device
Anleitung Popup:
attr viewFHEM_config item31 meinPopupDevice|popup
#oder mit Farb Änderung
attr viewFHEM_config item31 meinPopupDevice|popup|backgroundcolor|bordercolor
#z.B.
attr viewFHEM_config item31 meinPopupDevice|popup|FFFFFF|00FF00
define meinPopupDevice dummy
#Popup anzeigen
set meinPopupDevice popup|breite|höhe|url|fhem Befehl
#z.B.
set meinPopupDevice popup|400|400|/fhem|set Tuer on
#oder
set meinPopupDevice popup|400|400|http://www.heise.de/|set Tuer on
Anleitung Space Modul:
attr viewFHEM_status itemNummer IrgendEinDummyDeviceMussEsGeben|space|BreitexHöhe|Position
#z.B.
attr viewFHEM_status itemNummer IrgendEinDummyDeviceMussEsGeben|space|2x3|1
@Jumbo
Ist das Space Modul so ok?
spitze klappt :-D
fehlt noch ein slider um die Rollanden huch und runter zu ziehen :-D
Hallo!
Danke mit dem Wetter-Modul bin ich sehr zu frieden, endlich ist auch der WAF gestiegen;-)!
Nun hatte ich noch eine Idee, ob man vom definierten Kalender(Fhem) die Einträge übersetzten könnte und in den Ticker übergeben könnte?
Leider komme ich auch nicht so mit dem Space-Modul klar, ist es dafür gedacht Abstände/Zeilen zwischen den Item ein zu setzten?
Wenn ja, sind die Item nach nummern in einem Raster gedacht 1-4;5-9?
Mfg Steffen
Es gibt die Spalte 1 links bis Spalte 4 rechts
Die Spalten 1 bis 4, werden nacheinander abgearbeitet.
Also erste Spalte 1 komplett, dann Spalte 2 Komplett usw.
Wenn Ein Modul in Spalte 1 mehr als eine Spalte braucht, werden die gebrauchten Spaltenplätze reserviert.
Das gleiche für Zeilen.
Zwei Wettermodul nehmen jeweils 3X3 Plätze in anspruch.
Das Zweite Modul, fängt bei Spalte 2 an und wird unter Modul eins dargestellt
attr viewFHEM_Keller item2 meinWetterDevice|weather|3x3|1
attr viewFHEM_Keller item3 meinWetterDevice|weather|3x3|2
In diesem Beispiel, nimmt der Waschmaschine_Status nur eine Spalte ein. item3 fängt bei Spalte 2 an und überlappt item2
attr viewFHEM_Keller item1 Waschmaschine_Status|state[on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Waschmaschine|1
attr viewFHEM_Keller item2 meinWetterDevice|weather|3x3|1
attr viewFHEM_Keller item3 meinWetterDevice|weather|3x3|2
Wenn du eine ganze Zeile, also 4 Spalten frei haben willst:
attr viewFHEM_Keller item2.4 meinSpaceDummy|space|4x1|1
Oder wenn du die Überlappung von oben verhindern willst, musst du den Platz neben Waschmaschine_Status blocken
attr viewFHEM_Keller item1 Waschmaschine_Status|state[on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Waschmaschine|1
attr viewFHEM_Keller item1.4 meinTicker|space|1x1|2
attr viewFHEM_Keller item2 meinWetterDevice|weather|3x3|1
attr viewFHEM_Keller item3 meinWetterDevice|weather|3x3|2
Die Reihenfolge der Abarbeitung kannst hier sehen:
http://ip:8083/fhem?cmd=jsonlist (//ip:8083/fhem?cmd=jsonlist) viewFHEM_Keller&XHR=1
Du kannst anstatt item1 item2 usw auch itema itemb itemc usw eingeben.
Wichtig ist nur Die Reihenfolge, in der oben genannten JSON abfrage.
Alles verstanden?
ZitatNun hatte ich noch eine Idee, ob man vom definierten Kalender(Fhem) die Einträge übersetzten könnte und in den Ticker übergeben könnte?
Wenn du etwas in den Ticker schreiben willst, musst du nur "set meinTickerDevice der gewünschte Text" ausführen.
"der gewünschte Text" ist dein Kalender Text.
Oder meinst du etwas anderes?
Zitat von: fhem86 schrieb am Sa, 15 Juni 2013 10:57(Titel des posts: "Position")
Hi,
kannst Du für Diene posts bitte sprechendere Titel angeben, zB immer ein [Tablet AJAX/JavaScript/HTML GUI] voranstellen, damit man sehen kann worum es überhaupt geht.
Ich habe diesen Ordner abonniert, kriege also Mails. Zu diesem post steht im Betreff der Mail nur "Position", das ist nicht besonders hilfreich.
Danke+Gruß, Uli
Hallo!
Danke für die Erklärung mit den Spalten, jetzt habe ich es verstanden und so klappt es auch:-)!
Mit dem Kalender meinte ich diesen in Fhem:
define Kalender_Lindenhof Calendar ical url xxxx
und ob man diese Werte:modeUpcoming vp2j4kl4461jpkkufunt0clck8googlecom 2013-06-15 11:36:23
übersetzt an den Ticker weitergeben könnte??
Mfg Steffen
Zitat von: Steffen schrieb am Sa, 15 Juni 2013 11:48Hallo!
und ob man diese Werte:modeUpcoming vp2j4kl4461jpkkufunt0clck8googlecom 2013-06-15 11:36:23
übersetzt an den Ticker weitergeben könnte??
Du musst innerhalb von FHEM "vp2j4kl4461jpkkufunt0clck8googlecom 2013-06-15 11:36:23" in einen lesbaren String übersetzen
und dann
set meinTickerDevice der lesbare Kalender String
Der Ticker dient zur Darstellung und FHEM macht den Rest.
Ich verstehe nicht wo das Problem ist.
Zitat von: fhem86 schrieb am Sa, 15 Juni 2013 12:18Zitat von: Steffen schrieb am Sa, 15 Juni 2013 11:48Hallo!
und ob man diese Werte:modeUpcoming vp2j4kl4461jpkkufunt0clck8googlecom 2013-06-15 11:36:23
übersetzt an den Ticker weitergeben könnte??
Du musst innerhalb von FHEM "vp2j4kl4461jpkkufunt0clck8googlecom 2013-06-15 11:36:23" in einen lesbaren String übersetzen
und dann
set meinTickerDevice der lesbare Kalender String
Der Ticker dient zur Darstellung und FHEM macht den Rest.
Ich verstehe nicht wo das Problem ist.
Da ist ja das Problem, ich weiß noch nicht wie man das in fhem umsetzt, aber werde es schon irgenwie rausfinden.
Danke trotzdem für deine Hilfe und Geduld;-)
Mfg Steffen
Moin,
also ich habs dann auch mal getestet ...
Soweit alles fein aber
Es fehlt die möglichkeit eine Beschriftung anzubringen (so zusagen als Überschrift für gleiche Elemente)
Es fehlt die möglichkeit eine desired-temp z.b. bei FHTs zu setzen
Es fehlt die möglichkeit einen freien Befehl zu senden (z.b. dim level 4 dim level 8 usw usw)
noch nicht getestet:
setlist (wird die ausgewertet?)
HCS Modul
Presence Modul
Wetter (warum wird eigentlich nicht das Weather Modul bemueht. Ich z.b. habs sowieso am laufen)
Grüsse aus dem schönen Wesel und vielen Dank für die tolle arbeit an einer LCars oberfläche für FHem
Sieht alles sehr gut aus bis jetzt. Weiter so
Zitat von: Icebear schrieb am Sa, 15 Juni 2013 14:40Moin,
also ich habs dann auch mal getestet ...
Soweit alles fein aber
Es fehlt die möglichkeit eine Beschriftung anzubringen (so zusagen als Überschrift für gleiche Elemente)
Es fehlt die möglichkeit eine desired-temp z.b. bei FHTs zu setzen
Es fehlt die möglichkeit einen freien Befehl zu senden (z.b. dim level 4 dim level 8 usw usw)
noch nicht getestet:
setlist (wird die ausgewertet?)
HCS Modul
Presence Modul
Wetter (warum wird eigentlich nicht das Weather Modul bemueht. Ich z.b. habs sowieso am laufen)
Grüsse aus dem schönen Wesel und vielen Dank für die tolle arbeit an einer LCars oberfläche für FHem
Sieht alles sehr gut aus bis jetzt. Weiter so
Es gibt doch ein Wetter Modul.
Presence kannst du doch als status modul einbinden.
Was willst du mit "setlist" bezwecken?
Was soll den beim HCS FHEM Modul in viewFHEM Dargestellt werden?
Die Dim Funktion wird mit einem Slider möglich sein.
Was meinst du mit desired-temp setzen? Willst du eine Zahl eingeben und diese wird dann gesetzt? <- auch mit einem Slider?
Wegen der Überschrift, muss ich mal schauen.
Hi..
setlist z.b. für verschiedene Statis (z.b. abwesend kurz, abwesend lang, zuhause, nacht)
desweiteren bräuchte man ein ähnliches verhalten um z.b. die Modes eines FHT's zu setzen (denke bei MAX ähnlich) (manual, auto, holiday short, holiday) oder um definierte DIMs zu setzen (dim 25 / 50 / 75 / 100%) usw usw usw. wäre abbildungsfähig z.b. durch "durchklicken" jeder tip ein wert weiter. Wenn länger als x sekunden nicht mehr geklickt > wert übernehmen (damit man nicht endlos funkverkehr auslöst)
Ja es gibt ein Wettermodul, allerdings ist das halt ein weiteres. Ich benutze hier sowieso das standard weather.pm und die frage war nur warum man "nochmal" das wetter abfragt anstatt die vorhanden daten des weather.pm zu verwenden.
desired-temp per slider wäre eine möglichkeit. Die zweite per Eingabe der Zieltemperatur. Wenn man jetzt davon ausgeht das es touch fähig sein soll macht vermutlich ein Slider am meisten sinn (evtl sowas wie doppelklick für manuelle eingabe oder so).
HCS ist so eine Sache .. Der einfache Status ist jetzt abbildbar .. Geil wäre es wie bei andFhem ein erweiterter Status ala
Idle: anzahl demand: anzahl
also wieviele themostate sind idle, wieviele demand. Da es kein passendes Reading dafür gibt muss imho gezählt werden.
So das wars erstmal von mir.
Grüsse aus Wesel
Icebear.
p.s. danke nochmal fürs tolle modul ..
ZitatHCS ist so eine Sache .. Der einfache Status ist jetzt abbildbar .. Geil wäre es wie bei andFhem ein erweiterter Status ala
Idle: anzahl demand: anzahl
also wieviele themostate sind idle, wieviele demand. Da es kein passendes Reading dafür gibt muss imho gezählt werden.
Du kannst doch einfach für jedes themostate einen dummy anlegen und dann als status in viewFHEM einbinden.
attr viewFHEM_status item1 DummyThemostate1|state|Themostate 1|1
attr viewFHEM_status item2 DummyThemostate2|state|Themostate 2|1
attr viewFHEM_status item3 DummyThemostate3|state|Themostate 3|1
Da siehst du dann den Status jedes Themostate in einer Übersicht
Zitat von: fhem86 schrieb am Sa, 15 Juni 2013 12:18Zitat von: Steffen schrieb am Sa, 15 Juni 2013 11:48Hallo!
und ob man diese Werte:modeUpcoming vp2j4kl4461jpkkufunt0clck8googlecom 2013-06-15 11:36:23
übersetzt an den Ticker weitergeben könnte??
Du musst innerhalb von FHEM "vp2j4kl4461jpkkufunt0clck8googlecom 2013-06-15 11:36:23" in einen lesbaren String übersetzen
und dann
set meinTickerDevice der lesbare Kalender String
Der Ticker dient zur Darstellung und FHEM macht den Rest.
Ich verstehe nicht wo das Problem ist.
Hast du vielleicht doch netter weise eine idee, wie ich den Kalender in den Ticker bekomme?
Hatte es mit dummy und "get" versucht aber es klappt nicht...
Mfg Steffen
Hmm ok könnte es abbilden in dem ich per perl zähle und das als status in ein dummy packe. Ok ..
Zitat von: Steffen schrieb am Sa, 15 Juni 2013 18:31Hast du vielleicht doch netter weise eine idee, wie ich den Kalender in den Ticker bekomme?
Hatte es mit dummy und "get" versucht aber es klappt nicht...
Mfg Steffen
wie wird den "modeUpcoming vp2j4kl4461jpkkufunt0clck8googlecom 2013-06-15 11:36:23" in fhemweb dargestellt?
was ist das für ein calender format?
Wenn fhemweb das richtig darstellt, muss das ja irgendwo decodiert werden.
Hallo!
Also über fhemweb eingabe console mit "get Kalender_Lindenhof text modeUpcomingle",
wird es erst übersetzt und in Klarschrift dargestellt.
Es ist der google-calendar, hier meine config:
[code]ical url https://www.google.com/calendar/ical/xxxx (//www.google.com/calendar/ical/xxxx)[code]
Danke;-)
Zitat von: Steffen schrieb am Sa, 15 Juni 2013 19:34Hallo!
Also über fhemweb eingabe console mit "get Kalender_Lindenhof text modeUpcomingle",
wird es erst übersetzt und in Klarschrift dargestellt.
Es ist der google-calendar, hier meine config:
[code]ical url https://www.google.com/calendar/ical/xxxx[code]
Danke;-)
was sieht mann den wenn du
http://ip:8083/fhem?cmd=jsonlist Kalender_Lindenhof&XHR=1 aufrufst?
Hallo!
Bei Aufruf kommt das hier: "Unknown command jsonlist Kalender_Lindenhof, try help"
Problem gelöst
define test_onoff dummy
attr test_onoff setList on off
define test_onoff_n notify test_onoff { \
my $s=fhem ("get Kalender_Lindenhof text modeUpcomingle");; \
fhem ("set meinTicker $s");; \
}
Zitat von: fhem86 schrieb am Sa, 15 Juni 2013 20:33Problem gelöst
define test_onoff dummy
attr test_onoff setList on off
define test_onoff_n notify test_onoff { \
my $s=fhem ("get Kalender_Lindenhof text modeUpcomingle");; \
fhem ("set meinTicker $s");; \
}
Vielen Vielen dank @fhem86, genau so hatte ich es mir vorgestellt...
Da ist mir aber noch was aufgefallen, die Auflösung/Darstellung scheint auf jeden Gerät anders zu sein.
Auf Pc sind alle Item dargestellt und auf Handy fehlen dann die unteren Zeilen.
Ist das Richtig so?
Mich stört es nicht, denn auf meinem Tablet an der Wand ist genau so die Richtige Auflösung, darf nur nicht space modul verwenden dann fehlen auch da die unteren Zeilen.
Mfg Steffen
nochmals danke:-)
Wisst Ihr was ich ganz schlimm finde.... dass sich in FHEM immer wieder tolle Spielwiesen abbilden ;-))
Tolle Umsetzung des Prototype-Frameworks. Respekt.
Ist es auch möglich für einen "viewFHEM_status" 2 Werte darzustellen?(zB. für die S300TH Temp und Hum)
Wäre auch schön, wenn man den Hintergrund von "viewFHEM_status" in Abhängigkeit des Wertes entsprechend einfärbt. (< 20 Grad grün oder > 30 Grad rot)
Danke für die Arbeit.
Gruss KaiUwe
Ps.
Auf meinem Telefon geht leider das Scrollen nicht aber das ist wahrscheinlich ein generelles Problem bei Prototype.
Neu:
- Zoom disabled
- slider(click/touch) -> eigener Befehl/min Wert/max Wert/steps(Schritte)/Nachkommastellen(0,1,2 usw.)
Slider:
(siehe Anhang / see attachement)
Anleitung:
define slider dummy
define slider2 dummy
#attr viewFHEM_status item8 slider_device|slider|Beschreibung|Position|command $state$|min|max|step|Nachkommastellen
attr viewFHEM_status item8 slider|slider|Das ist ein Slider|1|set slider $state$|10.3|57.4|5.5|1
attr viewFHEM_status item9 slider2|slider|Das ist ein Slider|1|set slider2 $state$|0|40|0.5|2
$state$ wird automatisch durch den Status ersetzt.
Slider aktivieren/anzeigen:
Beschreibung anklicken/touchen
Slider deaktivieren/verstecken:
Modul ganz links anklicken/touchen
Ich warte auf die Erfahrungsberichte :)
Schon 11 downloads und kein Kommentar? Scheint ja gut zu funktionieren :)
Zitat von: fhem86 schrieb am Fr, 21 Juni 2013 18:45Schon 11 downloads und kein Kommentar? Scheint ja gut zu funktionieren :)
Hallo!
Hatte kurz getestet, doch haut leider die Auflösung weder auf meinem Galaxys3(zu Groß) noch auf Tablet 10zoll(zu klein) hin.
Wollte nochmal genau Testen...
Mfg Steffen
Neu:
- Label Modul (Gruppe/Überschrift)
(siehe Anhang / see attachement)
Anleitung:
#Dummy für Gruppe/Überschrift <- kann live geändert werden
define Label_Dummy dummy
set Label_Dummy der Text
#Modul Label Definition
attr viewFHEM_status itemIrgendwas Label_Dummy|label|BREITExHÖHE|Position
Beispiel (Screenshot):
#Dummys für Gruppe/Überschrift
define Label_Temp dummy
set Label_Temp Klima
define Label_Licht dummy
set Label_Licht Licht
#Modul Label Definition
attr viewFHEM_status item0 Label_Temp|label|2x3|1
attr viewFHEM_status item1 Label_Licht|label|1x3|3
#Sonstige Module Definition
attr viewFHEM_status item2 Temp_Wohnung|temperature|Temperatur Wohnung in °C|1
attr viewFHEM_status item3 Temp_Wohnung|humidity|Luftfeuchtigkeit Wohnung in %|2
attr viewFHEM_status item4 Temp_Terrasse|temperature|Temperatur Terrasse in °C|1
attr viewFHEM_status item5 Temp_Terrasse|humidity|Luftfeuchtigkeit Terrasse in %|2
attr viewFHEM_status item6 Deckenstrahler|onoff[on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Deckenstrahler|3
attr viewFHEM_status item7 Bett_LED|onoff[on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Bett LED|3
Hallo,
ich habe gerade mal versucht mit der letzten Version den Slider zu testen. Da es mit dem Dimmer nicht funktionierte, habe ich das Beispiel für slider2 kopiert und auch einen Dummy angelegt ( allerdings namens slidertest ).
Also
slidertest|slider|Das ist ein Slider|1|set slidertest $state$|0|40|0.5|2
Auch das bekomme ich nicht zum Laufen. Der Wert bleibt leer und es erscheint kein Slider beim Klicken. Weder im FF noch auf meinem Android-Handy.
Wo wird denn überhaupt festgelegt, aus welchem Reading der Wert geholt werden soll?
Gruß
Carsten
Zitat von: Steffen schrieb am Fr, 21 Juni 2013 21:31Zitat von: fhem86 schrieb am Fr, 21 Juni 2013 18:45Schon 11 downloads und kein Kommentar? Scheint ja gut zu funktionieren :)
Hallo!
Hatte kurz getestet, doch haut leider die Auflösung weder auf meinem Galaxys3(zu Groß) noch auf Tablet 10zoll(zu klein) hin.
Wollte nochmal genau Testen...
Mfg Steffen
So nochmal getestet auf einem Galaxy S2 und auch das Bild zu Groß so das einige Item komplett verschwunden sind.
Stellt sich das Bild nicht Automatisch auf den Screen ein?
Kann man das irgendwie einstellen?
Der Editor ist Super, macht das Basteln noch mehr Spaß!
Mfg Steffen
Hallo,
coole Sache. Was mir jetzt zur Trekki-Console noch fehlt sind Soundeffekte beim Berühren der Schaltfläche.
Ansonsten wirklich klasse gemacht !
Bye Gambit
@Steffen
öffne mal die index.html mit einem editor
in den ersten beiden zeilen steht.
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<meta name="viewport" content="width=device-width" />
Damit wird der zoom deaktiviert und die auflösung auf die device auflösung gesetzt.
Einfach beide Zeilen löschen, schon passt es wieder auf dem S2.
Ich muss mal schauen, wie ich das in die viewFHEM_config einbaue.
Meinst du mit Editor den ajaxEditor?
Zitat von: Carsten schrieb am Sa, 22 Juni 2013 14:09Hallo,
ich habe gerade mal versucht mit der letzten Version den Slider zu testen. Da es mit dem Dimmer nicht funktionierte, habe ich das Beispiel für slider2 kopiert und auch einen Dummy angelegt ( allerdings namens slidertest ).
Also
slidertest|slider|Das ist ein Slider|1|set slidertest $state$|0|40|0.5|2
Auch das bekomme ich nicht zum Laufen. Der Wert bleibt leer und es erscheint kein Slider beim Klicken. Weder im FF noch auf meinem Android-Handy.
Wo wird denn überhaupt festgelegt, aus welchem Reading der Wert geholt werden soll?
Gruß
Carsten
Der Wert wird aus dem Reading state von slidertest augelesen.
Wenn du auf die Beschreibung klickst oder touched erscheint dann der slider?
Der Befehl wird ausgeführt wenn:
mouseup oder touchend
Ich habe das im Firefox unter Windows und im Android Browsern getestet (Dolphin und Std. Browser)
Zitat von: fhem86 schrieb am So, 23 Juni 2013 15:16@Steffen
öffne mal die index.html mit einem editor
in den ersten beiden zeilen steht.
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<meta name="viewport" content="width=device-width" />
Damit wird der zoom deaktiviert und die auflösung auf die device auflösung gesetzt.
Einfach beide Zeilen löschen, schon passt es wieder auf dem S2.
Ich muss mal schauen, wie ich das in die viewFHEM_config einbaue.
Meinst du mit Editor den ajaxEditor?
Hallo!
Leider klappt das auch nicht richtig, ohne die Zeilen zu löschen wird es übergroß dargestellt und mit deinem Hinweiß löschen der zwei Zeilen wird es im Hochformat richtig dargestellt und im Quervormat fehlt zwei Zeilen unten in der darstellung, egal auf welchen Gerät ich das Test(S3;S2;Tablet10zoll) es ist irgendwie nie genau...
Mfg Steffen
@Steffen
Benutze auf dem S2 mal den Dolphin Browser und aktiviere über add-ons das Vollbild
Damit sollten locker alle deine Zeilen angezeigt werden.
Wichtig die genannten Zeilen aus der index.html löschen
Habe es gerade selbst getestet.
Gruß
Zitat von: fhem86 schrieb am So, 23 Juni 2013 15:22Der Wert wird aus dem Reading state von slidertest augelesen.
Wenn du auf die Beschreibung klickst oder touched erscheint dann der slider?
Der Befehl wird ausgeführt wenn:
mouseup oder touchend
Ich habe das im Firefox unter Windows und im Android Browsern getestet (Dolphin und Std. Browser)
Nein, es erscheint kein Slider. Mit Beschreibung meinst du den Text "Das ist ein Slider", oder? Es wird auch kein Wert angezeigt.
Zitat von: Carsten schrieb am So, 23 Juni 2013 19:13Nein, es erscheint kein Slider. Mit Beschreibung meinst du den Text "Das ist ein Slider", oder? Es wird auch kein Wert angezeigt.
Poste bitte mal deine config
So funktioniert das bei mir (FF Windows/Dolphin oder Android Brower unter Android 4.0.4 und 4.1.2)
define slider2 dummy
attr viewFHEM_status item8.3 slider2|slider|Das ist ein Slider|1|set slider2 $state$|0|40|5|2
"Das ist ein Slider" einmal touchen/klicken nicht gedrückt halten -> finger drauf und wieder hoch. Im Firefox muss es auf jeden Fall gehen.
*Kopf -> Tisch*
Sorry. Typischer Fall von PEBCAK. Es ist mir sehr peinlich, aber ich war offenbar zu blöd, die neue Version ins richtige Verzeichnis zu kopieren. Habe die Datei gerade nochmal heruntergeladen und kopiert und jetzt klappt alles wunderbar. Gefällt mir.
Eine kleine Unschönheit gibt es aber noch: Mein Homematic Dimmer kann neben 0-100% auch die states On und Off annehmen. Gerade stand er auf Off und im Status wurde dann NaN angezeigt.
Zitat von: Carsten schrieb am So, 23 Juni 2013 19:53Eine kleine Unschönheit gibt es aber noch: Mein Homematic Dimmer kann neben 0-100% auch die states On und Off annehmen. Gerade stand er auf Off und im Status wurde dann NaN angezeigt.
Wird in der nächsten Version gefixed.
Ich erweitere den slider auch um eine Wörter Version
z.B. mögliche Werte Wertname1/Wertname2/Wertname3 usw.
Wenn man slided, wird den jeweils der nächste Wertname ausgewählt.
Zitat von: fhem86 schrieb am So, 23 Juni 2013 19:07@Steffen
Benutze auf dem S2 mal den Dolphin Browser und aktiviere über add-ons das Vollbild
Damit sollten locker alle deine Zeilen angezeigt werden.
Wichtig die genannten Zeilen aus der index.html löschen
Habe es gerade selbst getestet.
Gruß
Ja es klappt aber nur mit diesem Browser aber finde ich ok und danke für deine Hilfe.
Wird alles dargestellt und genau auf die Auflösung...:-)
Mfg Steffen
Mfg Steffen
Hi,
was mir noch aufgefallen ist bei der Umsetzung meiner bisherigen Konfiguration :
- ein einfacher (grosser) Toogle-Button (den mal garantiert auch mit dem Finger erwischt) wäre noch gut
- mir fehlt die Möglichkeit z.B. über einen iFrame andere Inhalte noch mit unterzubringen. Also quasi ein
item31|iframe|3x1|http://lalala.de- das mit dem popup habe ich nicht ganz verstanden - was löst das Öffnen aus und welchem "Raum" ist das Popup zugeordnet ?
Wie gesagt - macht Spass mit der GUI. :-)
Bye Gambit
Zitat von: Gambit schrieb am Di, 25 Juni 2013 19:42Hi,
was mir noch aufgefallen ist bei der Umsetzung meiner bisherigen Konfiguration :
- ein einfacher (grosser) Toogle-Button (den mal garantiert auch mit dem Finger erwischt) wäre noch gut
- mir fehlt die Möglichkeit z.B. über einen iFrame andere Inhalte noch mit unterzubringen. Also quasi ein http://lalala.de">item31|iframe|3x1|http://lalala.de
- das mit dem popup habe ich nicht ganz verstanden - was löst das Öffnen aus und welchem "Raum" ist das Popup zugeordnet ?
Wie gesagt - macht Spass mit der GUI. :-)
Bye Gambit
das mit dem iframe kann ich noch einbauen.
in der popup funktion ist übrigens auch ein iframe.
define meinPopupDevice dummy
#Popup anzeigen
set meinPopupDevice popup|breite|höhe|url|fhem Befehl
#z.B.
set meinPopupDevice popup|400|400|http://ip/mein/webcam.cgi|set Tuer on
Das Popup ist keinem Raum zugeordnet. Wenn du den genannten set befehl ausführst erscheint das popup einfach.
Wenn du auf dieses klickst/touched, wird der fhem Befehl ausgeführt und das Popup geschlossen. Nutzbar z.B. für ein Webcam an der Tür.
Zunächst einmal danke für dieses KLASSE Frontend!
Allerdings habe ich auch Probleme das PopUp and laufen zu bekommen...
die entsprechenden Zeilen aus meiner Konfig:
define viewFHEM_overview dummy
attr viewFHEM_overview item9 vF|Eingang|popup|FFFFFF|00FF00
attr viewFHEM_overview room viewFHEM
define vF_Eingang dummy
attr vF_Eingang room viewFHEM
define bla dummy
gebe ich dann in der Befehlszeile "set vF_Eingang
popup|400|400|http://192.168.16.91/video3.mjpg|set bla on" ein passiert leider gar nichts.
Was habe ich übersehen?
define viewFHEM_config dummy
attr viewFHEM_config item9 vF_Eingang|popup|FFFFFF|00FF00
attr viewFHEM_config room viewFHEM
define vF_Eingang dummy
attr vF_Eingang room viewFHEM
define bla dummy
set vF_Eingang popup|400|400|http://192.168.16.91/video3.mjpg|set bla on
funzt leider weder mit chrome noch mit Firefox. (habe auch schon den Kamera-URL durch /fhem ersetzt. Keine Änderung
Zitat von: thunder schrieb am So, 30 Juni 2013 15:38funzt leider weder mit chrome noch mit Firefox. (habe auch schon den Kamera-URL durch /fhem ersetzt. Keine Änderung
poste bitte deine aktuelle config
Hast du deine config nach meinen Vorgaben geändert?
Hallo,
danke dass Du die die Mühe machst meine Config durchzusehen...
define viewFHEM_config dummy
attr viewFHEM_config item10 menubutton|font|Arial
attr viewFHEM_config item11 menubuttonselect|font|Arial
attr viewFHEM_config item12 menubutton|size|1em
attr viewFHEM_config item13 menubuttonselect|size|1em
attr viewFHEM_config item14 statusviewlabel|size|1em
attr viewFHEM_config item15 statusviewstate|size|1em
attr viewFHEM_config item9 item9 vF_Eingang|popup|FFFFFF|00FF00
attr viewFHEM_config room viewFHEM
define viewFHEM_menu dummy
attr viewFHEM_menu item1 viewFHEM_overview|Überblick
attr viewFHEM_menu room viewFHEM
define viewFHEM_overview dummy
attr viewFHEM_overview item1 viewFHEM_W|weather[label>font:Arial][state>font:Arial]|3x3|1
attr viewFHEM_overview item12 ph_PumpActor|state[state>size:1em][state>font:Arial][label>font:Arial][on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Pumpe Pool|3
attr viewFHEM_overview item14 zi_rasen|state[state>size:1em][state>font:Arial][label>font:Arial][on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Bewässerung Rasen Garten|3
attr viewFHEM_overview item15 zi_beete|state[state>size:1em][state>font:Arial][label>font:Arial][on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Bewässerung Beete Garten|3
attr viewFHEM_overview item16 zi_beeteN|state[state>size:1em][state>font:Arial][label>font:Arial][on:left>backcolor:00FF00][off:left>backcolor:FF0000]|Bewässerung Beete Vorgarten|3
attr viewFHEM_overview item2 vF_LabelEnv|label[label>font:Arial]|2x3|1
attr viewFHEM_overview item3 ga_temp|temperature[state>size:1em][state>font:Arial][label>font:Arial]|Aussentemperatur in °C|1
attr viewFHEM_overview item4 ga_temp|humidity[state>size:1em][state>font:Arial][label>font:Arial]|Luftfeuchtigkeit Aussen in %|2
attr viewFHEM_overview item5 ph_PoolTemp|temperature[state>size:1em][state>font:Arial][label>font:Arial]|Temperatur Pool in °C|1
attr viewFHEM_overview item6 zi_level|state[state>size:1em][state>font:Arial][label>font:Arial]|Wasserstand Brauchwasser|2
attr viewFHEM_overview room viewFHEM
define viewFHEM_W dummy
attr viewFHEM_W room viewFHEM
define vF_Eingang dummy
attr vF_Eingang room viewFHEM
define vF_LabelEnv dummy
attr vF_LabelEnv room viewFHEM
define vF_LabelPW dummy
attr vF_LabelPW room viewFHEM
der set war:
set vF_Eingang popup|400|400|http://192.168.16.91/video3.mjpg|set bla on
Falsch:
attr viewFHEM_config item9 item9 vF_Eingang|popup|FFFFFF|00FF00
Richtig:
attr viewFHEM_config item9 vF_Eingang|popup|FFFFFF|00FF00
aargh.... wie peinlich!!!!!
es funktioniert jetzt
Sorry......
Hallo,
geht die Entwicklung an dieser super GUI eigentlich noch weiter ?
Ist keine Drängelei - ich muss mich nur entscheiden auf welches "Pferd" ich setze und ich finde DIESEN Ansatz einer klasse.
Bye Gambit
Zitat von: Gambit schrieb am Di, 16 Juli 2013 09:10Hallo,
geht die Entwicklung an dieser super GUI eigentlich noch weiter ?
Ist keine Drängelei - ich muss mich nur entscheiden auf welches "Pferd" ich setze und ich finde DIESEN Ansatz einer klasse.
Bye Gambit
Wird weiterentwickelt. Zurzeit habe ich aber keine Zeit.
Hallo,
So Urlaub und Umzug hinter mir.
Jetzt die Frage. Wird viewFHEM noch weiter entwickelt. Das letzte ist ja offensichtlich im Juli passiert.
Da ich die Haussteuerung nu komplett neu aufbaue wäre es doch interessant zu wissen
Liebe grüsse
Icebear
Hallo,
für den Fall das das ganze noch weiterentwickelt wird (wäre sehr schade wenn nicht) man müsste dem Slider noch ein Reading mitgeben können (z.b. für FHTs die desired-temp) ansonsten wird der immer nan anzeigen da der aktuelle wert im reading steht (und nicht im state)
Grüsse (mittlerweile aus Friedrichsfeld)
Icebear
tja da keine antworten mehr kommen denke ich mal das projekt ist gestorben .. schade ..
Finde ich auch schade - 10m vor der Ziellinie gestorben ....
Bye Gambit
Ja schade, lag wohl an der Erwartungshaltung einiger User, anstatt selbst die Augen bei der Fehlersuche aufzumachen.
Hab mir aus den vorhandenen Trotzdem was nettes zusammen gestrickt.
Gesendet von meinem iPad mit Tapatalk HD
Hi,
sorry sehe ich nicht so, wenn der Author nach Wünschen und Verbesserungen explizit fragt kann man die doch vorbringen. Ausserdem ist nicht jeder technisch in der Lage den Code in der Form zu verstehen und "mitzuarbeiten".
IBye Gambit
Ja natürlich ist das so, aber es ist auch nicht jeder in der Lage die Zeit für den zusätzlichen Support auf zu bringen. Vielleicht wird der Kollege ja wieder die Zeit und Lust finden wenns jetzt Winter wird.
Gesendet von meinem iPad mit Tapatalk HD
Hallo Ihr Alle die diese tolle GUI verwenden,
seit gestern Abend bin ich auf den "Tablet AJAX/JavaScript/HTML GUI" aufgesprungen und ich muss sagen ich bin begeistert.
Da hast ne super Arbeit abgeliefert fhem86!!
Jetzt hab ich aber nur noch ein paar Fragen.
1. Ich verwende einige Slider, jedoch ist mir aufgefallen dass man die Schriftgröße des Labels dort nicht ändern kann. Kann natürlich sein dass ich die Funktion noch nicht gefunden habe.
2. Ist es möglich dass man feste Iframes in einen Raum legt?
Danke!!
Gruß Jody
(//)
Hallo!
Auch ich finde das Projekt super, hätte nur auch gern feste iframes um meine Webcam über die Menüleiste aufrufen zu können.
Jemand ne Idee wie man das realisieren könnte?
Viele Grüße,
Olli
Kann mir jemand vielleicht helfen die aktuelle Uhrzeit auf meiner Statusseite Anzeigen zu lassen?
Ich wäre euch wirklich sehr dankbar...
Hallo,
bin jetzt von Fritzbox auf Raspberry umgezogen. Seit dem funktioniert die Anzeige von Wetterdaten nicht mehr.
Kann jemand helfen?
Danke
Holger
Wann geht es hier weiter?
Hat jemand Lust das Projekt wieder aufzunehmen?
Das Problem mit dem Wetterplugin konnte ich nicht lösen. Habe mit Hilfe von variablen Labels eine eigene Anzeige gebastelt.
#Wetter
define Label_fc1 dummy
define Set_Wochentag1 at +*00:00:10 {\
my $day1=ReadingsVal("Wetter", "fc1_day_of_week",0);;\
fhem("set Label_fc1 $day1");;}
define Label_fc2 dummy
define Set_Wochentag2 at +*00:00:10 {\
my $day2=ReadingsVal("Wetter", "fc2_day_of_week",0);;\
fhem("set Label_fc2 $day2");;}
define Label_fc3 dummy
define Set_Wochentag3 at +*00:00:10 {\
my $day3=ReadingsVal("Wetter", "fc3_day_of_week",0);;\
fhem("set Label_fc3 $day3");;}
define viewFHEM_Wetter dummy
attr viewFHEM_Wetter item01 Label_fc1|label|1x5|1
attr viewFHEM_Wetter item02 Wetter|fc1_condition[state>hide]|state|1
attr viewFHEM_Wetter item03 Wetter|fc1_high_c|max. Temp|1
attr viewFHEM_Wetter item04 Wetter|fc1_low_c|min. Temp|1
attr viewFHEM_Wetter item05 Label_fc2|label|1x5|2
attr viewFHEM_Wetter item06 Wetter|fc2_condition[state>hide]|state|2
attr viewFHEM_Wetter item07 Wetter|fc2_high_c|max. Temp|2
attr viewFHEM_Wetter item08 Wetter|fc2_low_c|min. Temp|2
attr viewFHEM_Wetter item10 Label_fc3|label|1x5|3
attr viewFHEM_Wetter item11 Wetter|fc3_condition[state>hide]|state|3
attr viewFHEM_Wetter item12 Wetter|fc3_high_c|max. Temp|3
attr viewFHEM_Wetter item13 Wetter|fc3_low_c|min. Temp|3
Falsches Foto! ;)
Die Wetteranzeige funktioniert wieder!!! Juchu :) :) :) :) :)
Ticker ändert sich, wenn die Waschmaschine fertig ist.
#Ticker
define viewTicker dummy
attr viewTicker room 98_viewFHEM
define Get_WetterToTicker at +*00:00:10 {\
my $day=ReadingsVal("Wetter", "fc1_day_of_week",0);; \
my $maxTemp=ReadingsVal("Wetter", "fc1_high_c",0);; \
my $minTemp=ReadingsVal("Wetter", "fc1_low_c",0);; \
my $Vorhersage=ReadingsVal("Wetter", "condition",0);; \
my $Luftdruck=ReadingsVal("Wetter", "pressure",0);; \
my $LuftdruckTrend=ReadingsVal("Wetter", "pressure_trend_txt",0);; \
\
if(Value("Stecker1Betrieb") eq "finished")\
{\
fhem("set viewTicker Die Waschmaschine ist fertig");;\
}else{\
fhem("set viewTicker $day: $Vorhersage, Temp zwischen $maxTemp°C und $minTemp°C, Luftdruck $Luftdruck mbar, Tendenz $LuftdruckTrend ") ;;\
}\
}
neue Parameter. Grouplabel mit eigener Farbe für Label, Left und Rahmen.
attr viewFHEM_config item32 groupviewlabel|color|FF9966
attr viewFHEM_config item33 groupviewleft|color|FF9966
attr viewFHEM_config item34 groupviewborder|color|000000
attr viewFHEM_config item35 weatherviewlabel|textcolor|FFCC66
Cool. Lebt das Projekt wieder ???
Ich versuche mein Bestes! Bin aber noch nicht so fit im Programmieren.
Da hast du nen vorteil. Ich kann java bzw ajax garnicht. Programmiere nur in delphi und halt datenbank in mysql .
Reines Try-and-Error!
Hier ein Beispiel!
Gesendet von meinem iPhone mit Tapatalk
Da ich eh meine haussteuerung neu aufsetz werd ich mir das dann doch nochmal wieder ansehen. Hatte es nicht mehr nachdem nichs mehr weiter ging.
Eine Uhr gefällig? ;)
Die dhtml.js muss ebenfalls in das Verzeichnis der index.html
Wie immer alles ohne Gewähr! ;D
Update: neu Parameter!
attr viewFHEM_config item36 clockviewlabel|color|000000
attr viewFHEM_config item37 clockviewlabel|textcolor|CC6699
Kann mir jemand helfen? Ich würde gern ein einfache Balken- oder Liniendiagramm einbinden, bin aber noch nicht so firm in Java.
kleine optische Änderungen. Die dazugehörigen Parameter folgen noch.
Wenn jemand ein paar Anregungen hat, dann her damit! ;-)
So, hat ein wenig gedauert, aber der Rahmen ist fertig.
Hier nochmal alle Konfigurationparameter inkl. vier neue:
#Konfiguration
define viewFHEM_config dummy
attr viewFHEM_config item00 menubutton|font|Helvetica
attr viewFHEM_config item01 menubuttonselect|font|Helvetica
attr viewFHEM_config item02 menubutton|size|1.5em
attr viewFHEM_config item03 menubuttonselect|size|1.5em
attr viewFHEM_config item04 statusviewlabel|size|1.2em
attr viewFHEM_config item05 statusviewstate|size|1.5em
attr viewFHEM_config item06 background|color|000000
attr viewFHEM_config item07 topleft|color|FF9900
attr viewFHEM_config item08 topmiddle|color|FF9900
attr viewFHEM_config item09 topright|color|FF9900
attr viewFHEM_config item10 bottomleft|color|99CCFF
attr viewFHEM_config item11 bottommiddle|color|99CCFF
attr viewFHEM_config item12 bottomright|color|99CCFF
attr viewFHEM_config item13 menuspace|color|FFCC99
attr viewFHEM_config item14 menubutton|color|FF9900
attr viewFHEM_config item15 menubuttonselect|color|FF9900
attr viewFHEM_config item16 menubutton|textcolor|000000
attr viewFHEM_config item17 menubuttonselect|textcolor|000000
attr viewFHEM_config item18 statusviewleft|color|FFCC99
attr viewFHEM_config item19 statusviewlabel|color|FFCC99
attr viewFHEM_config item20 statusviewstate|color|000000
attr viewFHEM_config item21 statusviewlabel|textcolor|000000
attr viewFHEM_config item22 statusviewstate|textcolor|FFCC99
attr viewFHEM_config item23 onoffviewleft|color_on|9999CC
attr viewFHEM_config item24 onoffviewleft|color_off|9999CC
attr viewFHEM_config item25 onoffviewlabel|color_on|9999CC
attr viewFHEM_config item26 onoffviewlabel|color_off|9999CC
attr viewFHEM_config item27 onoffviewstate|color_on|000000
attr viewFHEM_config item28 onoffviewstate|color_off|000000
attr viewFHEM_config item29 onoffviewlabel|textcolor_on|000000
attr viewFHEM_config item30 onoffviewlabel|textcolor_off|000000
attr viewFHEM_config item31 onoffviewstate|textcolor_on|9999CC
attr viewFHEM_config item32 onoffviewstate|textcolor_off|9999CC
attr viewFHEM_config item33 meinPopupDevice|popup|FFFFFF|FF9900
attr viewFHEM_config item34 groupviewlabel|color|FF9966
attr viewFHEM_config item35 groupviewleft|color|FF9966
attr viewFHEM_config item36 groupviewborder|color|000000
attr viewFHEM_config item37 weatherviewlabel|color|FFCC99
attr viewFHEM_config item38 weatherviewlabel|textcolor|9999FF
attr viewFHEM_config item39 clockviewlabel|color|000000
attr viewFHEM_config item40 clockviewlabel|textcolor|99CCFF
attr viewFHEM_config item41 roomviewlabel|color|6666FF
attr viewFHEM_config item42 roomviewlabel|textcolor|000000
attr viewFHEM_config room 98_viewFHEM
Viel Freude!
Sieht alles fein aus. Hoff ich komm am we dazu mal zu testen
Würde mich freuen mal eine Rückmeldung zu bekommen.
Es wird langsam. Tu mich schwer das richtige Design zu finden! 8)
wieder mal zu schnell geklickt. hier das richtig foto.
Zitat von: infeliz am 04 Februar 2015, 14:48:05
Kann mir jemand helfen? Ich würde gern ein einfache Balken- oder Liniendiagramm einbinden, bin aber noch nicht so firm in Java.
Wennde mir ein Design bastelst setz ich dir das in jscript um. Brauch das für meinen Fork von dem Frontend hier auch.
Bin gerade dabei alles etwas modularer und übersichtlicher zu gestalten. Diese rieeeesen Datei ist einfach unübersichtlich ;)
Sieht dennoch schick aus - good work so far!
Ich glaub ich muss mal paar startrek screenshots machen ... jedes mal wenn die lcars oberflaeche zu sehen ist .. macht vielleicht sinn wenn man die nachbilden will oder ?
Ich wuerde nicht drueberschreiben welche kategorie aktiv ist sondern farblich markieren .. intuitiv schaut man links was ist aktiv und nicht nach oben
Ist drin! Du musst nur den Parameter "attr viewFHEM_config item15 menubuttonselect|color|FF9900" entsprechende anpassen.
Screenshots! Immer her damit. Bin zwar durch das Raster etwas eingeschränkt, aber ich tu mein Bestes.
Die passende Schriftart macht ne Menge aus.
Ihr könnt sie unter gtjlcars.de laden und müsst sie dann in den gleichen Ordner speichern wie die index.html.
Achtung: nicht alle Browser beherrschen die Funktion "@font-face", ist aber unbedingt notwendig für eine eigene Schriftart in der Webseite.
attr viewFHEM_config item00 menubutton|font|LCARSGTJ3
attr viewFHEM_config item01 menubuttonselect|font|LCARSGTJ3
Wow, das sieht mal richtig cool aus!
Ich habe noch zwei intressante Sites aus der Link-Kiste zum Thema
http://web.archive.org/web/20130703031209/http://www.bracercom.com/tutorial/content/CoherentLCARSInterface/LCARSCoherentInterface.html
http://web.archive.org/web/20130703174143/http://www.bracercom.com/tutorial/content/lcars_manifesto/the_lcars_manifesto.html
Die Original-Seite ist scheinbar down :(
Hallo nochmal,
kann mir gegebenenfalls jemand einen kurzen Überblick über die Konfiguration des Moduls geben? Mir fehlt irgendwie der Zugang zur Philosophie dahinter...
Der Dummy für das Hauptmenü links ist angelegt - aber wie geht es weiter?
Sehe ich es richtig, dass die übrigen Strukturen aus FHEM (Rooms und Groups) nicht mit diesem Frontend zutun haben, sondern alle LCARS Knöpfe/Widgets einzeln positioniert, konfiguriert und FHEM Geräten zugeordnet werden müssen?
Gruß, Jörg
Hallo Jörg!
Die Zuordnung der Räume und Positionen innerhalb dieser erfolgt über die viewFHEM.cfg
Das Frontend bedient sich lediglich der vorhandenen Devices die in der Config den Tasten zugeordnet werden.
Ich hänge dir meine viewFHEM.cfg an.
Die item00 bis item43 müssen zusätzlich in der fhem.cfg als attribute deklariert werden.
Ahh, langsam sehe ich klarer! Herzlichen Dank.
Ich hab mal angefangen eine kleine Anleitung zu schreiben.
cool, dass es hier wieder weitergeht. Werde die Änderungen gleich mal testen.
Danke an infeliz.
Gruß, Carsten
Kleine Änderung des Designs der Wetteranzeige. Bin aber noch nicht wirklich zufrieden. ;-)
Zusätzlicher Parameter für die Farbe des Rahmens oben und unten.
attr viewFHEM_config item44 weatherviewborder_top_bottom|color|CCCCFF
Ich habe bemerkt, dass es bei einigen Browsern, insbesondere ältere IE, einen Bug mit den Radien gibt. Hoffe, ich konnte das Problem beseitigen. Die LCARS-Schriftart funktioniert auch noch nicht zufriedenstellend. Ich arbeite dran, ebenso an einer Möglichkeit Diagramme darzustellen, tue mich aber noch etwas schwer mit Canvas. Vielleicht hat ja jemand ein paar Tipps. Im Quelltest ist schon ein Testdiagramm angelegt, aber ausser den Rahmen erscheint nix. Weiss nicht, wo ich den Fehler gemacht habe.
Super Arbeit.., danke fürs weiter machen :-)
Erste Gehversuche mit Canvas!
so jetzt hab ich das problem das die schrift nicht wirklich übernommen wird .. die beschriftung der buttons nicht zentriert ist und ich keine Uhrzeit sehe :-\
- Das die Beschriftung nicht zentrisch ist, ist Absicht. ;-) Auf Wunsch kann ich das gerne parametrierbar machen.
- Den Bug mit der LCARS-Schrift konnte ich noch nicht lösen. Zur Zeit muss die Schriftart auf dem Anzeige-Device installiert sein, später soll der automatische Download vom Server erfolgen
- Das mit der Uhrzeit werde ich korregieren. Habe wohl ne feste Breite des DIV eingegeben und diesen auf die schmale LCARS-Schrift angepasst. :-( Die Uhrzeit ist da, wird aber in der nicht vorhandenen zweiten Zeile angezeigt. Update kommt die Woche noch.
Top.. lass dir Zeit. Eilt nicht.
Danke
--- Mobil erstellt daher kurz gehalten --
Der leichte Teil ist geschafft. :-)
Hallo zusammen,
da ich das Frontend ganz schick finde, aber persönlich den Aufbau etwas suboptimal finde habe ich einen Fork des Projektes erstellt.
Im Gegensatz zum Original wird das Frontend über eine config.xml konfiguriert und aus der monströs großen und unübersichtlichen index.html sind kleinere "Module" geworden.
Styling erfolgt über das jeweilige .css eines Moduls.
Da ich weniger der GUI-Designer bin sondern eher Entwickler benötigen einige Divs noch etwas Finetuning damit es besser ausschaut.
Ich poste dennoch mal einen sehr frühen Entwicklungsstand weil ich mich frage ob überhaupt Interesse an einer umstrukturierten Version besteht und natürlich um Feedback zum Aufbau zu erhalten.
Um es Testweise zum Laufen zu bekommen einfach nach <fhemroot>/www/ entpacken und die config.xml anpassen.
Diese ist sehr nah am Original gehalten und ein Beispiel enthalten.
Ich freue mich auf Feedback...
Gruß
Cool, das noch jemand mitmacht.
Ja, die index ist monströs. Habe es so geerbt, werde versuchen, es noch zu verbessern. Zur Zeit steht aber die Funktion im Vordergrund.
Ich hab bestimmt mal die ein oder andere Frage. Das Design mit den Div's gefällt mir persönlich nicht so gut. Überlege, ob man das ganze nicht komplett über HTML5/Canvas besser gestalten könnte.
Gruss Heiner
PS: bei mir ist irgendwie Chaos. :-(
Erstmal super das nicht nur einer basteln muss :-)
@skyraver ... tolle sache das mit der config. Ich denke aber in zukunft wäre es für viele leichter das ganze in ein Fhem modul zu packen von deraus ich die config editieren kann. So wie es momentan noch ist hat man halt immer irgendwie 2 baustellen. einmal fhem und eimal die cfg. Wenn man das irgendwie vereinen könnte wäre das siche ne super sache für andere die dieses fontend nutzen möchten sicher auch einfacher ...
Ich bin leider zu blöd für programmierungen allgemein .... sonst würde ich mich schon mit reinhängen
okay .. das kaos schein folgender Eintrag zu sein:
<device hwid="dummy" reading="dummy" updateInterval="0" displayname="" style="simplespace"></device>
Hallo zusammen,
ich habe hier noch zwei LCARS / JS Frameworks gefunden. Vielleicht ist ja was interessantes dabei.
http://lcarsui.herokuapp.com/
http://garrett-.github.io/lcars/#
Zitat von: noice am 11 Februar 2015, 21:33:48
okay .. das kaos schein folgender Eintrag zu sein:
<device hwid="dummy" reading="dummy" updateInterval="0" displayname="" style="simplespace"></device>
Gut möglich. Ich habe evtl einen kaputten Stand erwischt vorhin. Mein lokales svn-repo von dem Projekt ist irgendwie kaputt gespielt -.-
Ich versuche nicht mit absoluten Pixel-Angaben zu arbeiten um einen hohen Freiheitsgrad für andere Entwickler zu behalten...
Das "Dummy device" hier verwende ich für einen Zeilenumbruch. Werde ich aber versuchen noch eleganter zu lösen.
Habe vorhin ganz vergessen den Aufbau zu erklären...
Also eigentlich braucht man für meine Version nur die config.xml anfassen und nicht die fhem.cfg.
Die einzige Bedingung ist, dass alle Devices bereits in FHEM angelernt und bekannt sind.
Grund dafür ist, dass ich bei meinen ersten Gehversuchen die Syntax und etwas eigentümliche Verschachtelung in der fhem.cfg als verwirrend empfunden habe.
Ich habe versucht "Design" und Funktion so gut wie möglich zu trennen.
Nun aber noch einmal kurz zum Aufbau:
config.xml
<menu>
<view id="view_status">View 1</view>
<view id="view_klima">View 2</view>
</menu>
Die id kann frei gewählt werden (allerdings darf der Name nicht doppelt vergeben werden) und wird verwendet um einzelnen Geräte auf einer Seite darzustellen
<views>
<view id="view_status">
<device hwid="temp.wohnzimmerr" reading="temperature" updateInterval="3600" displayname="Wohnzimmer" style="label" />
</view
...
</views>
In diesem Bereich werden die einzelnen Elemente einer Seite zur Darstellung angegeben. In diesem Beispiel wird die Temperatur eines Sensors dargestellt in einem "Label"
- hwid - Gerätename wie er in FHEM definiert wurde
- reading - Wert der gelesen werden soll (hier z.B: Temperatur)
- updateInterval - Aktualisierungsrate in Sekunden
- displayname - Name wie er auf der Seite dargestellt werden soll
- style - "Modulname" der die Darstellung und evtl. erweiterte Funktionalität mit sich bringt
Das war es im Großen und Ganzen.
Das Aussehen und Verhalten des Label kann unter ../modules/label/label.html / label.css und /label.js beliebig angepasst werden.
Beim Anpassen ist lediglich zu beachten, dass der "Konstruktor" in label.js genauso geschrieben wird wie beim device angegeben, da diese sachen dynamisch gecasted werden.
Wenn ich morgen Zeit finde werde ich mal das Basis layout auf html5 flex boxen umstellen damit neu eingefügte Sache immer korrekt angeordnet werden und nicht mehr so wirr wie in den Screenshots...
Ein konfigurieren via Modul ist kein Problem und "schnell" geschrieben, allerdings muss ich erstmal den grundlegenden "Designpart" fertig machen und noch ein paar mehr Basis-Module bereit stellen.
Die beiden Designs die gepostet wurden finde ich auch gar nicht schlecht :)
Ich verzweifle langsam. Verstehe einfach nicht, wie die Daten einlegen werden. :-(
Zitat von: SkyRaVeR am 11 Februar 2015, 20:42:12
Ich freue mich auf Feedback...
Moin,
sehr gerne. Für einen Neueinsteiger ist die große index.html erstmal abschreckend und unübersichtlich. Die XML-Variante gefällt mir daher eigentlich ganz gut, man findet schnell rein und bekommt seine gewünschte Darstellung. Funktion ist bei mir allerdings noch nicht gegeben, obwohl er die Daten per JSON korrekt anfragt und auch geliefert bekommt zeigt er rechts neben dem Namen nichts an.
Ein paar Pfade sind hardcoded:
modules/simplespace/simplespace.js: new Ajax.Request('/fhem/skyTrek1/modules/simplespace/simplespace.html', {
modules/togglebutton/togglebutton.js: new Ajax.Request('/fhem/skyTrek1/modules/togglebutton/togglebutton.html', {
Kann also nicht klappen, wenn nach /fhem/skyTrekW/ entpackt wurde. Das allein hat bei mir aber auch noch keinen Erfolg gebracht. Breche für heute erstmal ab, wollte dich aber ermutigen dran zu bleiben und ggf. nochmal eine alternative Version anzuhängen.
Top Arbeit! Gruß
Carsten
Hi!
Eigentlich muss man an die index.html gar nicht ran, aber ich werde das Erbstück mal bei Gelegenheit etwas aufräumen. ;-)
Hab mich ja am Anfang auch etwas schwer damit getan.
Nach ein paar verzweifelten Versuchen hab ich nun auch eine Lösung zum Einlesen von .log-Dateien gefunden, um Diagramme füttern zu können. Sollte also nicht mehr all zu lange dauern, bis ich euch das Ergebnis präsentieren kann.
Gruss Heiner
boah! Endlich geschafft!
Noch ein paar Parameter und Variablen einfügen und dann stell ich die index online.
Nice
Aktueller Stand Diagramm:
- Beschriftung
- Markierung höchster Wert
- Unschärfe beseitigt
Was soll alles über die viewFHEM.cfg parametrierbar sein?
Gruss Heiner
Wie kann man mit Ajax eine Filelog auslesen????
spontan würde ich sagen request an http://127.0.0.1:8083/fhem/FileLog_logWrapper&dev=FileLog_mypowerrouter&type=text&file=mypowerrouter-02-2015.log (uri natürlich anpassen an das jeweilige log)
absetzen, aus dem DOM-Tree das Element "<span class="log">..." holen und dann einfach line by line iterieren.
Format ist ja meist "2015-02-17_19:11:47 mypowerrouter fromgrid: 290" sprich date<space>name<space>reading<space>val.
Sowas kann man entspannt durch split in ein array schubsen und dann einfach auslesen.
Schöner wärs allerdings wenn man einfach nur eine json/xml response erhalten würde.
Bin noch zu neu in der Materie um die Module zu überblicken... Evtl. gibt es ja etwas wie diesen FileLogWrapper, der so etwas macht.
Gute Idee, aber ich bekomme das nicht in die richtige Form, so dass Daten ankommen. Habe auch versucht über Readings zu gehen und diese vorher über notify in einen Dummy abzulegen. Umständlich, aber es war ein Versuch wert. Funzt ebenfalls nicht. Jetzt bleibt mir nur noch über Attribute zu gehen. Das sollte funktionieren. :-(
Bin für jede Hilfe dankbar
Über den kleinen Umweg geht es nun doch! ;-)
Hi!
Endlich geschafft. Wenn auch etwas umständlich, da ich keinen Weg gefunden habe logs auszulesen.
Persönlich finde ich diese Lösung gar nicht so schlecht. Man kann selber die Werte triggern.
Hier mein Code zum Triggern:
define Stecker3Tag at *23:59:30 {\
my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime(time);;\
my $Now = ReadingsVal("Stecker3Pwr", "energy",0);; \
my $Old = ReadingsVal("Stecker3LastDay", "state", "");; \
my $diffDay = int(100 * (($Now - $Old) / 1000) + 0.5) / 100;;\
fhem("set Stecker3LastDay $Now");; \
fhem("set Stecker3WattDay $diffDay");; \
fhem("attr Stecker3DiaMonat item$mday $diffDay");;\
fhem("save HM_Stecker3.cfg");;\
}
define Stecker3DiaMonat dummy
attr Stecker3DiaMonat item21 0.7
attr Stecker3DiaMonat item22 1.21
attr Stecker3DiaMonat item23 1.09
attr Stecker3DiaMonat item24 1.19
attr Stecker3DiaMonat item25 0.2
attr Stecker3DiaMonat room 98_viewFHEM
Die Werte werden in die Attribute geschrieben.
define "devicename"Dia"Zeitraum" dummy
Zur Zeit funktioniert nur Monat, aber Tag und Jahr sind in Arbeit.
Eintrag für die viewFHEM.cfg
attr viewFHEM_Energie item01 Stecker3|diagram[name:Kühlschrank][type:Monat]|3x4|1
Stündliches Tagesdiagramm.
####Verbrauch pro Stunde#####
define Stecker3LastHour dummy
attr Stecker3LastHour fm_type state
attr Stecker3LastHour group Kühlschrank
attr Stecker3LastHour room 94_Stromkosten
define Stecker3WattHour dummy
attr Stecker3WattHour fm_type state
attr Stecker3WattHour group Kühlschrank
attr Stecker3WattHour room 94_Stromkosten
define Stecker3Stunde at +*01:00 {\
my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime(time);;\
my $Now = ReadingsVal("Stecker3Pwr", "energy",0);; \
my $Old = ReadingsVal("Stecker3LastHour", "state", "");; \
my $diffHour = int(100 * ($Now - $Old) + 0.5) / 100;;\
fhem("set Stecker3LastHour $Now");; \
fhem("set Stecker3WattHour $diffHour");; \
fhem("attr Stecker3DiaTag item$hour $diffHour");;\
fhem("save HM_Stecker3.cfg");;\
}
attr Stecker3Stunde alignTime 00:00
attr Stecker3Stunde room 94_Stromkosten
define Stecker3DiaTag dummy
attr Stecker3DiaTag item12 78.1
attr Stecker3DiaTag item13 50.4
attr Stecker3DiaTag item14 73.8
attr Stecker3DiaTag item15 29.9
attr Stecker3DiaTag item16 38.7
attr Stecker3DiaTag room 98_viewFHEM
Hat jemand einen Tip, wie ich eine Funktion beim Anklicken des Diagramms steuern kann.
Onclick und Observe habe ich nicht zum Laufen bekommen?
Die Idee: mit klicken zwischen Jahr-, Monat- und Tag-Ansicht umschalten.
Leider nicht
ich werde mich einmal einarbeiten....sieht super aus
@SkyRaVeR
Habe deine Version getestet, es gibt da einige Hardcoded Path in den JS. Du hast 2 verschiedene Verzeichnisse angegeben. Vermutlich hast du auf deiner Testumgebung 2 Webverzeichnisse, dann fällt dir das nicht auf.
new Ajax.Request('/fhem/skyTrek1/config.xml'
manchmal so
new Ajax.Request('/fhem/skyTrekW/config.xml'
und manchmal so
Ich habe die jetzt auf den richtigen Pfad "skyTrek1" geändert und hier nochmals angehängt falls das noch jemand testen will. Die Idee mit der XML finde ich gut, weil die index,html sonst sehr unübersichtlich wird.
Das Verzeichnis darf auch nicht nach Lcarsfhem sondern das ganze muss am Beispiel Raspi hier hin: /opt/fhem/www/skyTrek1
Der Aufruf erfolgt dann mit : http://IP-Raspi:8083/fhem/skyTrek1/index.html
Tolle Sache die ihr hier macht, Danke!
LG
Reinhart
Huhu,
hier mal eine aktualisierte Version.
@Reinhart Danke für den Tip. Blödes Hardcoding... Da ist man einmal Faul und schon fällt es einem auf den Fuß :(
Hatte deswegen selber ein paar Probleme und hab den Fehler nicht gefunden da ich natürlich immer im falschen Verzeichnis editiert habe -.-
Habe jetzt alle hardcoded paths entfernt.
Neu in diesem .zip:
- zusätzliche Art der Gruppendarstellung (siehe Screenshot)
- weniger Bugs (leider sind noch ein paar "known" bugs da)
- hardcoded paths entfernt
- Möglichkeit Einheiten für ein Reading zu definieren in config.xml erstellt
(z.B <device hwid="mypowerrouter" reading="power_from_sun" unit=" Wh" updateInterval="60" displayname="Solarertrag" style="tablerow" />)
Todos:
Wenn ich die Tage etwas Zeit finde werde ich noch weiter aufräumen und das Grundlayout weiter konsolidieren (bei einigen Auflösungen spinnt es leider).
Danach müsste ich mal ein finetuneing der einzelnen "Module" machen damit die auch hübsch aussehen...
Das Modul "togglebutton" ist aktuell bei mir für meine Rolläden im Einsatz - besser abstrahieren und nicht "auf/zu sondern an/aus" oder so hinschreiben
Naja, ist noch einiges an Arbeit aber solange der Garten noch nicht ruft findet sich ja ab und an etwas Zeit :)
Viel Spaß beim Testen
Vielleicht können wir unsere Kräfte vereinen? ;-)
Hab da ne Vision!
Ein Frontend, dass nur über das Frostend selbst gestaltet, verändert und eingerichtet wird.
Unser Intranetauftritt ist modular aufgebaut. Man kann Module hinzufügen, entfernen oder abändern.
Ob das möglich ist?
@infeliz - können wir gerne machen, aber was meinst du mit nur über das Frontend selber?
@SkyRaVeR
Danke für die Änderungen, hat nun auf Anhieb funktioniert!
Werde die nächsten Tage ein wenig mit der config.xml experimentieren.
@infeliz
Gute Idee, bei YAF ist das auch so umgesetzt, dort geht alles per Drap & Drop und schreibt die Datensätze direkt in die fhem.cfg. Mir persönlich gefallen solche Ansätze sehr gut, weil es für jedermann leicht zu konfigurieren ist.
Wollt ihr eure beiden Versionen nicht zu einer Version bringen? Es geht ja um ein und dasselbe Thema, nämlich eine futuristische Gui für Tablet & Co. Den Vorteil der XML Variante sehe ich vor allem in der Übersichtlichkeit und weil die Konfiguration unabhängig von der fhem.cfg ist.
Schöne Grüße
Reinhart
Hi!
Da muss ich noch etwas hirnen, aber wir werden sicher noch ne Weile brauchen.
Mein Ansatz wäre, weg von divs und hin zu canvas/html5.
Habe da ein paar vielversprechende Ansätze im Netz gefunden.
Das mit der xml hört sich gut an. So brauch man im fhem nichts ändern. Da brauch ich aber noch etwas mehr Input zu.
Das Diagramm habe ich nun seit zwei Tagen laufen. Ein paar Bugs waren noch drin, sollte aber jetzt laufen.
Hier meine Veränderungen:
define Stecker3Stunde at +*01:00 {\
my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime(time);;\
my $Now = ReadingsVal("Stecker3Pwr", "energy",0);; \
my $Old = ReadingsVal("Stecker3LastHour", "state", "");; \
my $diffHour = int(100 * ($Now - $Old) + 0.5) / 100;;\
fhem("set Stecker3LastHour $Now");; \
fhem("set Stecker3WattHour $diffHour");; \
fhem("deleteattr Stecker3DiaTag item$hour");;\
if ($hour==0){$hour=24};;\
if ($hour<10){\
fhem("attr Stecker3DiaTag item0$hour $diffHour");;\
}else{\
fhem("attr Stecker3DiaTag item$hour $diffHour");;\
};;\
fhem("save HM_Stecker3.cfg");;\
}
attr Stecker3Stunde alignTime 00:00
attr Stecker3Stunde room 94_Stromkosten
Gruss Heiner
hmm - also canvas sind eine nette Sache, aber du wirst nicht von einem Skeleton mit section/div oder wie auch immer weg kommen. Problem bei den canvas ist, dass die ja eigentlich nur für grafische
Elemente gedacht sind. Man kann nette Bildchen mit Effekten zaubern aber ich weiss nicht wie sich das performance technisch auswirkt wenn man alles als gfx rendern lässt. Müsste man mal ausprobieren.
Kurz zur config.xml...
Ich habe das Original etwas "aufgeräumt" und alle möglichen Sachen ausgelagert und versucht es übersichtlicher zu gestalten.
Es gibt ein Grundlayout welches in der Index.html hinterlegt ist(die Balken oben und Unten). Alles andere wie beispielsweise Button/Label/Gruppen habe ich in eigene "Module" ausgelagert.
Ein Modul besteht aus einem .html, .css und .js Anteil.
Um nun z.B. die Temperatur von einem Sensor darzustellen muss zunächst ein "View" angelegt werden.
<menu>
<view id="view_klima">Klima</view>
</menu>
Dies geschieht in der config.xml durch einen Eintrag im Bereich "menu". Wie der Name schon sagt ist dies auch gleich ein Menüpunkt.
Es reicht jedoch nicht aus nur diesen Eintrag zu machen, da der eigentliche Inhalt des Views noch nicht definiert wurde.
Dies wird durch folgenden Code erreicht:
<view id="view_klima">
<device hwid="temp.arbeitszimmer" reading="temperature" unit=" °C" updateInterval="60" displayname="Arbeitszimmer" style="label" />
</view>
Dies wäre eine sehr simple Seite, die nur den Wert eines einzigen Sensors als "Label" (äquivalent zu dem "Label" in der original index.html) darstellt.
Der Aufbau eines "Devices" ist gegliedert in
- hwid - Gerät so wie es in der fhem.cfg heisst
- reading - Name des readings (wie es in fhem bereitgestellt wird)
- unit - optionaler Parameter, der hinter den eigentlichen Wert vom Sensor noch etwas schreibt damit nicht einfach nur steht "20" sondern "20 °C"
- updateInterval - gibt an wie oft der Wert gepolled werden soll (in Sekunden)
- displayname - Anzeigename auf der Seite damit nicht der Name aus der fhem.cfg genommen werden muss
- style - gibt an wie der Wert vom Sensor auf der Seite dargestellt werden soll.
Zum Parameter "style" - das ist ein sehr wichtiger Bestandteil. Hiermit kann man definieren, wie der eigentliche Wert dargestellt werden soll.
Es wird dynamisch zur Laufzeit bestimmt was sich hinter dem "style" versteckt - sprich ein "Modul". Somit lässt sich im Prinzip alles selber customizen,
da man sich nur ein eigenes "Modul" basteln muss bzw. das bestehende abändern.
Wichtig ist, dass es ein Unterverzeichnis im Ordner "modules/<namedesstyles>" mit den 3 Dateien (.html .css und .js) gibt wobei der "Konstruktur" in der .js exakt so heissen muss wie
der Name des Styles, der angegeben wurde (siehe beispielsweise <rootofmyzip>/modules/label/label.*)
Wenn man nun ein eigenes Modul erzeugen will muss man lediglich darauf achten, dass man die Funktionen der "Klasse" device.js in seinem Modul implementiert.
Die Idee ist es im Prinzip von der Basisklasse(device.js) seine eigene abzuleiten und zu erweitern.
Für ein minimales Modul werden die folgenden Methoden benötigt, da diese zur Laufzeit aufgerufen werden:
string getHTML(); // sollte als return einen validen html string zurück liefern der letztendlich auf die Seite gerendert wird.
void setHWInfo(); // blöder workaround weil oop in Java etwas schlecht funktioniert - man bekommt hier ein Objekt (device) übergeben um Zugriff auf alle HW-Infos zu erhalten -> TODO schöner machen
void addDeviceUpdater(); // der eigentliche Code, der die asynchronen requests auslöst.
Da ich hier wohl den Rahmen sprenge wenn ich noch weiter aushole, ist es sicherlich einfacher bei Interesse in das "Modul" label zu schauen um einen Eindruck zu erhalten wie ich mir das ganze vorgestellt habe.
Noch kurz zur "gruppierten" Darstellung:
<group id="grptemp.eg" label="Temperaturen im EG" style="group">
<device hwid="temp.arbeitszimmer" reading="temperature" unit=" °C" updateInterval="60" displayname="Arbeitszimmer" style="label" />
<device hwid="temp.hwr" reading="temperature" unit=" °C" updateInterval="60" displayname="HWR" style="label" />
</group>
"Gruppen" sind bei mir eine art Compound-Modul, die aber grundsätzlich gleich aufgebaut sind.
- id - eindeutiger Name (darf nur 1x vorkommen, sonst werden lustige Sachen dargestellt!)
- label - Überschrift der Gruppe(werde ich wohl mal in caption umbenennen)
- style - wie auch bei einem device die Darstellungsart
Hier gibt es bereits 2 "Beispiele" in dem .zip (group und group2).
Falls noch Fragen oder Vorschläge sind wie man das ganze noch sinnvoller aufteilen, einfacher machen oder besser umsetzen kann einfach bescheid geben oder selber machen (und bitte hier bereitstellen ;)
Grüsse
Man ihr macht es ja richtig professionell .. top
--- Mobil erstellt daher kurz gehalten --
@SkyRaVeR
Wir müssten uns man zusammen ein Konzept ausdenken. Dein Idee mit der xml finde ich Klasse. Da lässt sich leichter etwas aus der Index heraus was verändern, wenn man eine Konfigurationsmöglichkeit, wie ein Kontextmenü hätte. Ich würde mich am Design versuchen. würdest du den Hintergrund, spricht Datenverarbeitung übernehmen?
Konzeptfragen:
- Was soll alles manipulierbar sein?
- Parametrierung/Erstellung der Widget?
- Verschiebbare Widget per Drag&Drop? (Rasteroberfläche)
- Verschiedene Designs? (nicht jeder mag StarTrek)
- Konfiguration des fhem aus dem Fronend heraus? Ist das möglich?
- sauberes HTML für alle Browser!
Fragen über Fragen!
Gruss Heiner
@infelix
Du sprichst mir aus der Seele, vor allem was den letzten Punkt dem Browser angeht.
Mein Tablett ist ein Surface 2 und hier läuft Windows RT drauf, da gibt es keine alternativen Browser, nur den hauseigenen IE 11.
@SkyRaVeR
habe nun schon einige Seiten mit der XML erstellt, ist wirklich eine sehr einfache und schnelle Sache. Was mir dabei auffällt, bei 2 x maligem Klicken des selben Menüpunktes verschwinden die Messwerte und können erst wieder durch F5 angezeigt werden. (Opera).
Leider hat der IE das bekannte Anzeigeproblem und ist so für mein Tablett nicht brauchbar. Ich müsste alles im Style "tablerow" darstellen, dieser funktioniert auch im IE. Danke für die Doku!
LG
Reinhart
Wetter Widget mit Icons?
@infeliz
Wenn das ganze wirklich noch dynamischer werden soll müssen in der Tat ein paar Konzeptfragen mehr geklärt werden...
-> Projektname ?
lcarsFHEM?
- Was soll alles manipulierbar sein?
Am Besten so wenig wie möglich. Je mehr Optionen zur Verfügung stehen desto komplizierter wird es.
Ich denke hier immer an meine bessere Hälfte die auch mit der Oberfläche klar kommen muss ;)
- Parametrierung/Erstellung der Widget?
Das würde ich weiterhin stupide über die config.xml oder einen ähnlichen Mechanismus lösen und das Look & Feel der Widgets wie gehabt in html vorgeben.
Bin aber offen für Ideen.
- Verschiebbare Widget per Drag&Drop? (Rasteroberfläche)
Ist ein nettes Feature über das man in der Tat nachdenken kann.
- Konfiguration des fhem aus dem Fronend heraus? Ist das möglich?
Das ist bestimmt möglich, aber an was genau denkst du da?
- sauberes HTML für alle Browser!
Sehe ich genauso - ist allerdings ein riesen Aufwand die ganzen Browser abzutesten.
Würde hier nur für die gängigsten (chrome, firefox, ie und safari) optimieren.
> - Verschiedene Designs? (nicht jeder mag StarTrek)
Da würde ich zunächst einmal "strikt" sein und diesen Punkt weiter hinten anstellen.
Es gibt im Forum bereits mehrere html UIs die andere Designs bieten. Sicherlich kann man in der Zukunft daran denken sich damit zu beschäftigen, dennoch
sollte erst einmal eine Version fliegen bevor wir uns auf skinning einstellen.
Zusätzlich sollten wir ein GIT-Repo aufsetzen um eine Versionierung zu haben und nicht per Anhang hier updates auszutauschen und uns auf Technologien einigen.
Ich werde morgen mal eins bei github anlegen.
Ansonsten fand ich es eigentlich sehr entspannt den integrierten httpd von fhem zu nutzen anstatt einen anderen zu verwenden.
Auf der anderen Seite bieteten natürlich ein andere Webserver(nginx/apache etc) viel mehr Möglichkeiten durch php, servlets und co.
Ich übernehme gerne den Backend-Anteil, da ich beim Designen immer graue Haare bekomme wenn mal wieder die ganzen divs nicht so wollen wie ich ;)
Was genau meinst du mit einem Kontext-Menü?
@Reinhart
Ich kenne den Bug und werde ihn die Tage beheben. Das dürfte eigentlich nicht am IE liegen, sondern an einem dummen Fehler von mir. Ich cache die gerenderte Seite ohne vorher auf die ausgelesenen Werte zu warten :(
Arbeite gerade noch an einer (hoffentlich) besseren Lösung der Klassen um neue "widgets" noch einfacher bzw. übersichtlicher erstellen zu können.
Der alte Code ist zu etwas späterer Zeit entstanden und leider etwas unübersichtlich.
Super Danke,
das gleiche Problem habe ich natürlich auch am Handy (Winphone), hier gibt es zwar einen alternativen Browser (UC Browser) aber der zeigt den selben Fehler.
Zitat- Konfiguration des fhem aus dem Fronend heraus? Ist das möglich?
Das ist bestimmt möglich, aber an was genau denkst du da?
schaut euch einmal diese Funktion im YAF an, die machen den umgekehrten Weg. Es wird direkt aus der Weboberfläche die Liste der Devices angezeigt und man braucht den benötigten Device aus einer Dropdown Listenfeld nur auswählen. Im YAF wird der Eintrag dann direkt in die fhem.cfg zurück geschrieben, was in eurem Fall die XML wäre. Die benötigten Routinen sind auch alle in JS geschrieben und müssten nicht mehr neu erfunden werden.
so sieht der Eintrag dann aus, der mit einem Mausklick erstellt wurde:
attr Schrankbeleuchtung yaf_1 id=106,name=iteasylamp,showicon=1,fhemname=Schrankbeleuchtung,showlabel=1,x_pos=515,y_pos=463,labeltype=Name
Ebenfalls enthalten sind die X, Y Koordianten wo das Objekt dann am Bildschirm liegt. Jedesmal wenn mit der Maus das Objekt verschoben wird, werden die X und Y Koordinaten einfach korrigiert.
Ich will euch natürlich hier nichts aufzwingen, ist nur so eine Idee um die Sache eventuell zu vereinfachen.
LG
Reinhart
Zwischenstand:
Noch ein paar Icons und ich bin fertig.
Gruss
Fertig!
Parameter:
attr viewFHEM_config item44 weatherviewborder_top_bottom|color|000000
attr viewFHEM_config item45 weatherviewtitle|size|1.5em
attr viewFHEM_config item45 weatherviewtext|size|1.2em
Icons in einen Ordner "icons" packen.
Gruss
Sch... Wetter bei dir *gg*
kannste laut sagen!
soo - ich hab noch ein bissl gebastelt und bräuchte nochmal wen, der mir einen Gefallen tut und kurz mit einem Windows-Tablet testet ob
a) die Werte bei einem Wechsel zwischen den einzelnen Menüpunkten noch vorhanden sind
b) ob sich dort die gruppierten Werte mit dem Style "group" frei platzieren lassen (anclicken und Finger bewegen)
Es hat sich ansonsten auch sehr viel geändert. Die "Klassen" sind überarbeitet und ich habe das Framework in jQuery geändert.
Wenn das soweit funktioniert (also Werte bleiben erhalten und Items lassen sich frei bewegen) müssen wir mal anfangen die Konzepte zu erstellen.
Danke für Testen :)
Ich hab mir das jetzt nicht genauer angesehen aber auf was beruhen die Wetterdaten? Kommen die aus dem Internet oder werden diese von einer lokalen Wetterstation mit abgefragt?
Die Daten werden aus dem Internet gezogen. Genau gesagt von YahooWeather.
#Wetterticker
define Wetter Weather 638242 600 de
attr Wetter event-on-update-reading temperature,humidity,pressure,wind_speed,wind_chill,wind_direction
attr Wetter group Wetter
attr Wetter room 0.2_Klima
define w_Wetter weblink htmlCode { WeatherAsHtmlD("Wetter") }
attr w_Wetter group Wetter
attr w_Wetter htmlattr width_"220" height="330" frameborder="0" marginheight="0" marginwidth="0"
attr w_Wetter room 0.2_Klima
define Wetter Weather 638242 600 de
638242 < Deine whoID bzw. Standort. Kannst du bei Yahoo irgendwo nachlesen
600 < Intervall für Aktualisierung in Sekunden
de < Deutschland/deutsch
Zitat von: SkyRaVeR am 06 März 2015, 18:10:41
a) die Werte bei einem Wechsel zwischen den einzelnen Menüpunkten noch vorhanden sind
b) ob sich dort die gruppierten Werte mit dem Style "group" frei platzieren lassen (anclicken und Finger bewegen)
Hallo,
es wird am Windows Tablet "Surface 2" nur das Hauptmenü am linken Rand angezeigt. Der Inhalt fehlt völlig, alles leerer Bildschirm. Das Menü selbst scheint zu funktionieren, weil das ausgewählte Menü (am Touchpad) am oberen Rand den Text wechselt (Statusanzeige Menü).
Den Rest kann ich daher noch nicht testen.
Hier der Original Screenshot vom Surface.
LG
Danke für das Testen. Hast du die config.xml angepasst? Ich hatte glaub ich nur die Views "Klima" und "Rolläden" mit Werten von mir belegt.
Der initiale View "Status" ist leer. Ich hatte noch vergessen zu erwähnen, dass ich den Style "simplespace" in "newline" umbenannt habe und style="group" in style="mygroup".
Zum Testen reicht es aus wenn nur 2 Gruppen (style="mygroup") in einem View sind z.B.
<group id="grptemp.eg" caption="Temperatur" style="mygroup">
<device hwid="temp.arbeitszimmer" reading="temperature" unit=" °C" updateInterval="60" displayname="Arbeitszimmer" style="label"/>
<device hwid="temp.hwr" reading="temperature" unit=" °C" updateInterval="60" displayname="HWR" style="label"/>
</group>
<group id="grphum.eg" caption="Luftfeuchte" style="mygroup">
<device hwid="temp.arbeitszimmer" reading="humidity" unit=" %" updateInterval="60" displayname="Arbeitszimmer" style="label"/>
<device hwid="temp.hwr" reading="humidity" unit=" %" updateInterval="60" displayname="HWR" style="label"/>
</group>
Auf meinem alten ipad3 kann ich die Gruppen problemlos via touch hin und her schieben. Es kann lediglich passieren, dass die Elemente "unsichtbar" werden.
Das behebe ich aber sowie ich weiss ob das auch so auf einem Windows-Tablet läuft (Muss dafür das Grundlayout modifizieren).
Soweit würde ich aber erst gehen wenn wir uns auf ein Konzept geeinigt haben damit ich nicht unnötig Zeit verplemper.
Gruß & Danke :)
Ein kleines Widget für Windrichtung und Geschwindigkeit.
Leider komme ich beim Design nicht weiter. :-\
Jemand ne Idee?
Verfolge eure Arbeit seit einigen Tagen und bin wirklich begeistert von den Ergebnissen ! TOP ! Sie sind auch der Grund das ich mich nun angemeldet habe.
Meine Frage : Müssen die Geräte z.B. EnO_switch_018DFXXX nur noch im config.xml definiert werden ? oder brauch ich dummy readings !?! Bei mir taucht derzeit in der Übersicht noch nichts auf.
<group id="Heizung" caption="Temperatur" style="mygroup">
<device hwid="EnO_switch_018DXXXX" reading="temperature" unit=" °C" updateInterval="60" displayname="Arbeitszimmer" style="label"/>
<device hwid="temp.hwr" reading="temperature" unit=" °C" updateInterval="60" displayname="HWR" style="label"/>
</group>
<group id="grphum.eg" caption="Luftfeuchte" style="mygroup">
<device hwid="temp.arbeitszimmer" reading="humidity" unit=" %" updateInterval="60" displayname="Arbeitszimmer" style="label"/>
<device hwid="temp.hwr" reading="humidity" unit=" %" updateInterval="60" displayname="HWR" style="label"/>
</group>
(http://fs1.directupload.net/images/150308/temp/8gta7gv9.png) (http://www.directupload.net/file/d/3920/8gta7gv9_png.htm)
Zitat von: schnibberle am 08 März 2015, 07:09:29
Meine Frage : Müssen die Geräte z.B. EnO_switch_018DFXXX nur noch im config.xml definiert werden ? oder brauch ich dummy readings !?! Bei mir taucht derzeit in der Übersicht noch nichts auf.
Du brauchst ein Gerät, dass in deiner fhem.cfg real existiert.
Als Beispie (bei mir ein homeatic temperatur sensor)l:
---fhem.cfg---
define temp.hwr CUL_HM 2A7750
attr temp.hwr IODev hmusb
attr temp.hwr actCycle 000:10
attr temp.hwr actStatus alive
attr temp.hwr autoReadReg 4_reqStatus
attr temp.hwr expert 2_full
attr temp.hwr firmware 1.3
attr temp.hwr icon icoTemp
attr temp.hwr model HM-WDS40-TH-I-2
attr temp.hwr peerIDs 00000000,
attr temp.hwr room CUL_HM
attr temp.hwr serialNr LEQ0228082
attr temp.hwr subType THSensor
...
-------------------------------------
Eine ganz rudimentäre config.xml wäre nun
<LCARS>
<menu>
<view id="view_klima">Klima</view>
</menu>
<views>
<view id="view_klima">
<group id="grptemp.eg" caption="Temperatur" style="mygroup">
<device hwid="temp.hwr" reading="temperature" unit=" °C" updateInterval="60" displayname="Arbeitszimmer" style="label" />
</group>
</view>
</views>
</LCARS>
Wenn dein Gerät kein Temperatursensor ist sondern ein "Schalter" müsstest du in der .xml das reading="temperatur" sehr wahrscheinlich durch reading="state" ersetzen.
Wichtig wäre noch, da ich bisher nur mit homeatic getestet habe und ehrlich gesagt Fehlerabfragen sehr stiefmütterlich behandele zu wissen ob das "Reading" in fhem existiert.
Könntest du bitte mal die Ausgabe von http://<ip_deines_fhem_servers>:8083/fhem?cmd=jsonlist2 EnO_switch_018DXXXX&XHR=1 in eine text-datei packen und mir zukommen lassen?
Evtl. heissen die Readings bei "enocean" anders als bei homeatic wobei ich eigentlich dachte, dass fhem das weg kapselt.
@infeliz - wir sollten bald anfangen unsere Sachen über das Frontend konfigurierbar zu machen und unsere "widgets" zusammen zu führen.
Meine sind ja nur testweise für den backend-anteil entstanden...
@SkyRaVeR
ich habe die XML nicht angepasst, sondern deine genommen und die war ja bei einigen Punkten gefüllt. im Quervergleich habe ich ja jeden Menüpunkt am Surface mit dem Laptop verglichen und eben diese Unterschiede der Ansichten festgestellt.
LG
Mh. Sieht aus wie in Jeton, oder?
Hier das vorläufige Ergebnis! ;-)
attr viewFHEM_Wetter item00 Wetter|wind|1x4|1
Die Grössenangabe spielt keine Rolle.
Gruss Heiner
All in ! :D
Machst du alles mit canvas nu? Bin gerade dabei alles bei mir umzustellen aber tue mich irgendwie schwer es für alle Auflösungen gut zu skalieren :(
Ja, das Wind-Windget ist komplett in Canvas, dass in einem div liegt. Anfangs hatte ich auch Probleme mit der Schärfe. Wie bei den anderen Schaltern und Widget bleibt die Auflösung immer die Gleiche angepasst an das Raster. Ich werde auch versuchen andere Bedienelemente in Canvas zu programmieren.
Wie du schon geschrieben hast, wird man um die div's wahrscheinlich nicht rumkommen. Ich teste weiter. ;-)
Beim skalieren musst du aufpassen, dass du keine Nachkommastellen beim Errechnen der Grösse erzeugst. Dann wird es unscharf. Weiter ist es wichtig dem Canvas die gleiche Grösse zu geben wie dem eingefügtem Canvas
sieht schon besser aus. ;-) oder?
Zitat von: SkyRaVeR am 08 März 2015, 11:16:42
Du brauchst ein Gerät, dass in deiner fhem.cfg real existiert.
Als Beispie (bei mir ein homeatic temperatur sensor)l:
-
Könntest du bitte mal die Ausgabe von http://<ip_deines_fhem_servers>:8083/fhem?cmd=jsonlist2 EnO_switch_018DXXXX&XHR=1 in eine text-datei packen und mir zukommen lassen?
Evtl. heissen die Readings bei "enocean" anders als bei homeatic wobei ich eigentlich dachte, dass fhem das weg kapselt.
Den kompletten Auszug habe ich dir per PN geschickt.
Hier ein Teil davon
},
"Readings": {
"block": { "Value":"unlock", "Time":"2015-03-12 16:40:23" },
"nightReduction": { "Value":"0", "Time":"2015-03-12 16:40:23" },
"setpointTemp": { "Value":"13.1", "Time":"2015-03-12 16:40:23" },
"state": { "Value":"T: 21.8 SPT: 13.1 NR: 0", "Time":"2015-03-12 16:40:23" },
"temperature": { "Value":"21.8", "Time":"2015-03-12 16:40:23" }
},
"Attributes": {
"IODev": "TCM_ESP3_0",
"alias": "Schlafzimmer Heizung",
"manufID": "00D",
"model": "FHK61",
"room": "EnOcean",
"setCmdTrigger": "refDev",
"subDef": "FFEFFFEF",
"subType": "roomSensorControl.05",
"temperatureRefDev": "EnO_4BS_019CA9ABB"
}
}
],
"totalResultsReturned":1
}
@SkyRaver:
Ich habe das hier im Netz gefunden und versuche es gerade zu verstehen!
Drag and Drop von Div's!!
mh. das klappt schon ganz gut! der Anfang ist gemacht.
Uhi nice... hab ihr euch nun schon zusammen gefunden?
...hat sich erledigt... nach einem restart des raspi ging es wieder...
trotzdem: super sache, gefällt mir bisher ganz gut.
Habt ihr die Steuerung der Heizung schon realisiert, oder nur Anzeige?
@infeliz
Drag 'n Drop inkl. speichern von Werten zurück in meine config.xml habe ich schon eingebaut. Allerdings braucht man dazu ein Modul was mich stört.
Ich suche noch eine Möglichkeit ohne weitere Modifikationen durch Module/eigenen Webserver etc. die Daten zurück zu schreiben.
Möglich aber unkomfortabel wäre es den Benutzer erst eine Datei runterladen zu lassen und dann gleich wieder hochzuladen. Javascript unterbindet es ja leider Daten zu schreiben.
Soweit ich das gerade sehe kann aber der integrierte Webserver keine cgi requests beantworten :(
Mal schauen wie ich das geschickt umsetze ohne es für den Nutzer zu kompliziert zu machen. Evtl. werde ich ein kleine Javaprog als "Konfigurator" basteln oder das webserver modul für
unsere Zwecke erweitern.
Was meint der Rest?
- Eigenes standalone GUI-Prog zum konfigurieren ?
- Eigenes Modul in fhem ?
- Fhem-webserver Modul erweitern ?
Ansonsten bin ich mit dem Backend-Anteil leider noch nicht so weit wie ich mir das gewünscht habe... Leider viel zu Tun gerade :(
Was aktuell geht:
- Konfigurieren ohne die config.xml anzufassen
-> Anlegen/Löschen und Bearbeiten von Menüpunkten
-> "Widgets" zu einem View hinzufügen und positionieren (Devices aus fhem werden ausgelesen und die readings bereit zum Auswählen bereitgestellt)
-> Drag 'n Drop zum Positionieren der Widgets im View
Was noch fehlt:
- cross browser kompatibiliät verbessern (nur mit chromium und safari getestet)
- hübsches Design *g*
Diesbezüglich müssen wir uns mal zusammen setzen und die Grundstruktur festziehen damit wir nicht unnötig parallel das Gleiche basteln und schneller voran kommen :)
Grüße
Wenn ich was helfen kann und sei es nur zu testen, sagt bescheid :)
Meintest du sowas?
<script language="JavaScript">
// Create a connection to the file.
var Connect = new XMLHttpRequest();
// Define which file to open and
// send the request.
Connect.open("GET", "Customers.xml", false);
Connect.setRequestHeader("Content-Type", "text/xml");
Connect.send(null);
// Place the response in an XML document.
var TheDocument = Connect.responseXML;
// Place the root node in an element.
var Customers = TheDocument.childNodes[0];
// Retrieve each customer in turn.
for (var i = 0; i < Customers.children.length; i++)
{
var Customer = Customers.children[i];
// Access each of the data values.
var Name = Customer.getElementsByTagName("Name");
var Age = Customer.getElementsByTagName("Age");
var Color = Customer.getElementsByTagName(
"FavoriteColor");
// Write the data to the page.
document.write("<tr><td>");
document.write(Name[0].textContent.toString());
document.write("</td><td>");
document.write(Age[0].textContent.toString());
document.write("</td><td>");
document.write(Color[0].textContent.toString());
document.write("</td></tr>");
}
</script>
oder sowas
http://efxa.org/2013/06/03/how-to-transform-an-xml-document-into-html5-using-xslt/ (http://efxa.org/2013/06/03/how-to-transform-an-xml-document-into-html5-using-xslt/)
@infeliz
nee, ich meine die simple Möglichkeit die vom Nutzer "zusammen geclickte gui" wieder in die config.xml zu speichen.
Werde es wohl erstmal über ein zusätzliches Modul machen, aber mal anfragen ob nicht irgendwer cgi support in den webserver mit einbauen mag.
Wenn ich das mache ist es blöd weil man so bei
Hast du deine Widgets alle eigentlich standalone, oder immer nur in die index.html integriert? Sollten auf jedenfall zeitnah unsere Sachen mergen damit wir mit einem Stand arbeiten...
Grüße
Zum Thema Config schreiben:
Der aktuelle Webserver dürfte doch schon entsprechende Funktionen im Rahmen von Edit Files kennen, oder?
@elfrinjo
echt? Ich dachte er kann nur Werte in die fhem.cfg speichern... Hast du evtl. 'nen Link für mich? Scheine das übersehen zu haben...
Gruß & Danke
Hi,
das ist nur, was ich aus User- und Header-Sicht sehe. (Stehe leider auf Kriegsfuß mit Perl)
Es gibt ein Kommando "style edit", das POST Requests entgegennimmt.
In so einem Request lässt sich Form-Data übergeben.
Der folgende Request hat eine gplot Datei geöffnet und dann als css Datei gespeichert. Das Zielverzeichnis ist scheinbar von der Dateiendung abhängig.
.gplot --> www/gplot/
.css --> www/pgm2/
und der Rest nach FHEM/
Request URL:http://fhem.fritz.box:8083/fhem?cmd=style%20edit%20SM_CPUStat.gplot
FormData (parsed)
saveAs:Save as
saveName:SM_CPUS55555tat.css
cmd:style save SM_CPUStat.gplot
data:# Inhalt der zu
# speichernden Datei
EDIT:
Ich habe es jetzt auch im der 01_FHEMWEB.pm gefunden. Die Orte an denen geschrieben werden kann ist doch recht eingeschränkt:
1675 sub
1676 FW_fileNameToPath($)
1677 {
1678 my $name = shift;
1679
1680 $attr{global}{configfile} =~ m,([^/]*)$,;
1681 my $cfgFileName = $1;
1682 if($name eq $cfgFileName) {
1683 return $attr{global}{configfile};
1684 } elsif($name =~ m/.*(css|svg)$/) {
1685 return "$FW_cssdir/$name";
1686 } elsif($name =~ m/.*gplot$/) {
1687 return "$FW_gplotdir/$name";
1688 } else {
1689 return "$MW_dir/$name";
1690 }
1691 }
Zitat von: schnibberle am 12 März 2015, 16:46:32
Den kompletten Auszug habe ich dir per PN geschickt.
Hier ein Teil davon
},
"Readings": {
"block": { "Value":"unlock", "Time":"2015-03-12 16:40:23" },
"nightReduction": { "Value":"0", "Time":"2015-03-12 16:40:23" },
"setpointTemp": { "Value":"13.1", "Time":"2015-03-12 16:40:23" },
"state": { "Value":"T: 21.8 SPT: 13.1 NR: 0", "Time":"2015-03-12 16:40:23" },
"temperature": { "Value":"21.8", "Time":"2015-03-12 16:40:23" }
},
"Attributes": {
"IODev": "TCM_ESP3_0",
"alias": "Schlafzimmer Heizung",
"manufID": "00D",
"model": "FHK61",
"room": "EnOcean",
"setCmdTrigger": "refDev",
"subDef": "FFEFFFEF",
"subType": "roomSensorControl.05",
"temperatureRefDev": "EnO_4BS_019CA9ABB"
}
}
],
"totalResultsReturned":1
}
Hab den Fehler gefunden. FHEM konnte die js nicht öffnen. Ist mir beim "backup" aufgefallen mit
"chmod 777 -R /opt/fhem/www/lcarshome/" tuts
Geht also auch mit Enocean. Weitere Tests folgen...
@elfrinjo
joa, das hab ich hauch gesehen :(
Bin auch kein Freund von Perl, aber versuche es ein wenig nebenbei zu lernen. Zum Glück gibt es !google und eine große Community dahinter.
Werde jetzt erst einmal mit einem kleinen blöden Hack fortfahren damit es hier etwas weiter geht...
# lcars hack #####
if ($ext eq "cgi") {
return FW_lcarsserveSpecial($file, $ext, $ldir, $arg );
}
#############
Naja, nicht schön aber fürs erste muss es so gehen.
Werde jetzt mal zusehen, dass ich die Woche Bugs fixe..
@schnibberle - super, dass freut mich :)
@infeliz - wie mergen wir am Besten die ganzen Widgets und co? Sollten auch noch einmal über die config.xml schauen was man dort noch besser machen kann... (Wenn wer Vorschläge und Anregungen hat bitte bescheid geben :)
Grüße
Passiert hier noch was?
Moin zusammen,
Ich bin erst vor ein paar Tagen auf dieses Projekt gestoßen (einfaches und automatisiertes Layouting, cool!) und leider scheint es ja "tot" zu sein. Ich habe das letzte Coding von SkyRaVeR inklusive einigen Bugfixes und Verbesserungen auf GitHub hochgeladen (https://github.com/MichaelAnders/lcars4fhem). Läuft jetzt seit gestern ganz gut daheim.
Ich hoffe, daß ist ok und hoffe ebenfalls, dass an diesem geilen Projekt wieder mehr passiert 8)
VG,
Björn
Hallo Björn,
Klasse das du dieses Frontend wieder aufgreifst!!!!
Ich selbst habe meinen Server erst vor 2 Monaten aufgesetzt und bin daher noch blutiger Anfänger!
Leider findet die Boardsuche diesen Beitrag nicht mit den Begriff LCars, Star Trek oä. Ich hab ihn auch nur über Google, GitHub gefunden.
Vieleicht liegt es an der Überschrift! Wär schön wenn die jemand abändert!
Ich werde mich mal daran versuchen dieses Frontend zu installieren. Ich hoffe ich darf dich mit blöden Fragen nerven ;)
Gruß Karsten
Hallo alle! Ich habe nur 2 Dinge zu sagen:
1. Ich möchte FHEM mit meinem eigenen Frontend nutzen und keine Ahnung, wie ich mit JSON oder XML kommunizieren soll. :-\
2. Kann jemand einige Antwort-Links oder Quellcodes teilen? Danke vielmals! :)
Ich bin ein sehr neues FHEM und einige Bereiche sind noch nicht klar für mich. Übrigens, das ist meine Google übersetzte Frage. Ich habe kein Deutschwissen ... :-[