FHEM Forum

FHEM => Frontends => FHEMapp => Thema gestartet von: coolice am 06 Mai 2021, 18:13:47

Titel: Fragen zur Konfiguration von Templates
Beitrag von: coolice am 06 Mai 2021, 18:13:47
Hallo, könnte mir jemand ein Beispiel geben wie ich den Pfeil rechts hinbekomme, sodass die einzelnen Rauchmelder angezeigt werden damit man erkennen kann welcher angeschlagen hat?

Danke vorab.
Grüße Mirco
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: floerke am 06 Mai 2021, 19:54:53
Zitat von: coolice am 06 Mai 2021, 18:13:47
Hallo, könnte mir jemand ein Beispiel geben wie ich den Pfeil rechts hinbekomme, sodass die einzelnen Rauchmelder angezeigt werden damit man erkennen kann welcher angeschlagen hat?

Danke vorab.
Grüße Mirco

Hallo Mirco,
z. B. in dem Du per Link auf eine entsprechende Gruppe verweist. Hier ein Beispiel mit Rollläden.

{ "panel": {"status": ["state:closed:geschlossen:100:success", "state:open:geöffnet:0:success", "state:undefined:teilweise geschlossen :50:success"], "btn": "mdi-chevron-right", "link": "/devices/group=Rollläden"},"name":"Jalousien" }

Viele Grüße

Marian

Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 07 Mai 2021, 13:48:16
Ein wichtiger Bestandteil von FHEMApp bildet die Konfiguration von Templates. Wenn Ihr Fragen zur Konfiguration via appOptions oder zur Erstellung eigener Templates habt, dann könnt ihr diese hier einstellen.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Cluni am 11 Mai 2021, 13:08:26
Ich versuche gerade das Shutter-Template zu verändern. Ich hätte gerne, dass bei

geöffnet: der Balken ganz orange
geschlossen: der Balken ganz grün
und dazwischen: der Balken in Prozenten gelb

angezeigt wird.

Dazu habe ich das Template wie folgt verändert:

{
  "name": "shutter3",
  "author": "jemu75/BHE",
  "date": "2021-05-11",
  "status": {
    "bar": ["pct:0:100:success","pct:100:100:orange","pct::%n:yellow"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["motor:stop:off","motor::stop"],
      "leftLong": ["motor::off"],
      "leftLongRelease": ["motor::stop"],
      "text": ["motor:up:öffnet...","motor:down:schließt...","pct:1:offen","pct::geschlossen"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["motor:stop:on","motor::stop"],
      "rightLong": ["motor::on"],
      "rightLongRelease": ["motor::stop"]
    }
  ],
  "info": {
    "left1": ["motor:up::mdi-window-shutter-alert","motor:down::mdi-window-shutter-alert","pct:1::mdi-window-shutter-open","pct:::mdi-window-shutter"],
    "left2": ["pct::%s% geöffnet"]
  }
}


Damit ist der Balken aber immer komplett grün.

Beim Switch funktioniert das doch auch mit
"bar": ["state:on:100:success","state:off:0:success"],
Warum bei mir nicht?

Grüße Bernd
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 11 Mai 2021, 13:24:47
Zitat von: Cluni am 11 Mai 2021, 13:08:26
Ich versuche gerade das Shutter-Template zu verändern. Ich hätte gerne, dass bei

geöffnet: der Balken ganz orange
geschlossen: der Balken ganz grün
und dazwischen: der Balken in Prozenten gelb

angezeigt wird.

Dazu habe ich das Template wie folgt verändert:

{
  "name": "shutter3",
  "author": "jemu75/BHE",
  "date": "2021-05-11",
  "status": {
    "bar": ["pct:0:100:success","pct:100:100:orange","pct::%n:yellow"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["motor:stop:off","motor::stop"],
      "leftLong": ["motor::off"],
      "leftLongRelease": ["motor::stop"],
      "text": ["motor:up:öffnet...","motor:down:schließt...","pct:1:offen","pct::geschlossen"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["motor:stop:on","motor::stop"],
      "rightLong": ["motor::on"],
      "rightLongRelease": ["motor::stop"]
    }
  ],
  "info": {
    "left1": ["motor:up::mdi-window-shutter-alert","motor:down::mdi-window-shutter-alert","pct:1::mdi-window-shutter-open","pct:::mdi-window-shutter"],
    "left2": ["pct::%s% geöffnet"]
  }
}


Damit ist der Balken aber immer komplett grün.

Beim Switch funktioniert das doch auch mit
"bar": ["state:on:100:success","state:off:0:success"],
Warum bei mir nicht?

Grüße Bernd

Es liegt an der Reihenfolge. Die Wertprüfung bei Zahlenwerte funktioniert nach "größer oder gleich". D.h. die Definition mit dem größten Wert muss immer zuerst angegeben werden. Danach in absteigender Folge alle weitere Werte. In deinem Fall dann
1) 100 -> orange
2) 1 -> yellow
3) 0 -> success
I'm letzten Prüfschritt kannst du den Wert (im Beispiel die 0) weglassen. Dann wird die Farbe für alle restliche Werte angezeigt.

Melde Dich gern, wenn Du noch Fragen hast.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Cluni am 11 Mai 2021, 13:36:34
Yes, dank dir - kaum macht man es richtig, schon funktioniert es...

Für den Fall, dass jemand das Template haben möchte:

{
{
  "name": "shutter3",
  "author": "jemu75/BHE",
  "date": "2021-05-11",
  "status": {
    "bar": ["pct:100:100:orange","pct:1:%n:yellow","pct:0:100:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["motor:stop:off","motor::stop"],
      "leftLong": ["motor::off"],
      "leftLongRelease": ["motor::stop"],
      "text": ["motor:up:öffnet...","motor:down:schließt...","pct:100:offen","pct:1:%s %","pct:0:geschlossen"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["motor:stop:on","motor::stop"],
      "rightLong": ["motor::on"],
      "rightLongRelease": ["motor::stop"]
    }
  ],
  "info": {
    "left1": ["motor:up::mdi-window-shutter-alert","motor:down::mdi-window-shutter-alert","pct:1::mdi-window-shutter-open","pct:::mdi-window-shutter"]
  }
}
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: piet_pit am 11 Mai 2021, 20:39:22
Hallo Cluni,

sieht prima aus, würde ich evtl. übernehmen.

Welchen Aktor verwendest du für die Rolladen? Ich habe den Shelly2.5 und experimentiere noch daran herum, habe anstatt

"leftClick": ["motor:stop:off","motor::stop"]

bei Shelly z.B. 

"leftClick": ["state:stop:off","state::stop"]

eingesetzt, klappt nicht so richtig.

Reaktion sollte sein, dass der Rollo bei einmaligen Click fährt (z.B. hoch), bei nochmaligen Click stoppt usw.

Komme da nicht richtig weiter..., evtl. habe ich ja Donnerstag Zeit für weiteres Testen... ;D
VG
Pit


Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 11 Mai 2021, 22:57:23
Zitat von: piet_pit am 11 Mai 2021, 20:39:22
Hallo Cluni,

sieht prima aus, würde ich evtl. übernehmen.

Welchen Aktor verwendest du für die Rolladen? Ich habe den Shelly2.5 und experimentiere noch daran herum, habe anstatt

"leftClick": ["motor:stop:off","motor::stop"]

bei Shelly z.B. 

"leftClick": ["state:stop:off","state::stop"]

eingesetzt, klappt nicht so richtig.

Reaktion sollte sein, dass der Rollo bei einmaligen Click fährt (z.B. hoch), bei nochmaligen Click stoppt usw.

Komme da nicht richtig weiter..., evtl. habe ich ja Donnerstag Zeit für weiteres Testen... ;D
VG
Pit

Kannst du bitte mal ein jsonlist2 von einem deiner shelly2.5 Aktoren posten.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: piet_pit am 12 Mai 2021, 12:31:55
Hallo Jemu75,

anbei dieses jsonlist2 des Shelly2.5, an dem führe ich meine "Experimente" durch.

Ich nutze für den Shelly2.5 das von FHEM bereitgestellte Template MQTT (danke nochmals an Beta-User) sowie das ASC von Cooltux (danke auch an Cooltux).


{
    "Name":"Buero_Rollo_Vorne",
    "PossibleSets":"opens:noArg closes:noArg open:noArg close:noArg half:noArg stop:noArg pct:slider,0,1,100 x_recalibration:noArg x_update:noArg x_mqttcom attrTemplate:?,General_Info,MQTT2_CLIENT_general_bridge,MQTT2_IO_ignoreRegexp_basic,MQTT2_IO_ignoreRegexp_tasmota,MQTT2_IO_ignoreRegexp_shelly,MQTT2_IO_ignoreRegexp_homeassistant,speechcontrol_general_naming_master_template,speech_recognition_general_naming_master_template,tasmota_basic,tasmota_basic_state_power1,tasmota_1ch+motion+SI7021,tasmota_POW,tasmota_POW_USB_split,tasmota_plug_with_rgbw_split,tasmota_ir,tasmota_rf,tasmota_rf_keys_example,tasmota_use_DS18x20_id,tasmota_zigbee2tasmota_bridge,tasmota_clear_readings_reset_readingsList_and_reboot,tasmota_set_lowercase_texts_and_state1,tasmota_set_uppercase_texts_and_state1,tasmota_set_power1_state_to_power,tasmota_2channel_split,tasmota_2ch_unified,tasmota_2ch_shutter_invert_1,tasmota_2ch_shutter_invert_0,tasmota_4ch_two_shutters_invert_0,tasmota_3channel_input_shelly_i3,tasmota_4channel_split,tasmota_3socketUSB_split,tasmota_4ch_unified_basic_text,tasmota_4ch_unified_icon,tasmota_8ch_unified_icon,tasmota_8channel_split,tasmota_rgb_led_controller,tasmota_rgbw_led,tasmota_rgbcct_light,tasmota_cct_led,tasmota_TuyaMCU_dimmer,tasmota_window_sensor_MC400A,shelly1,shelly_announces,shellyplug,shelly1_w_energy_measuring,shelly1_w_energy_measuring_washer_example,shelly3em,shelly2_split,shelly25_split,shelly2_roller,shelly25_roller_invert_0,shelly25_roller_invert_1,shelly4pro_split,shelly4pro_unified,shellybulb,shellyduo,shellymotion,shellyht,shellyflood,shellygas,shellydw,shelly_ix3,shelly2rgbw_color,shelly2rgbw_4w_split,shellydimmer,ESPurna_single_relay,eBus_daemon_splitter,ems-esp_heater_device,ems-esp_heater_device_outdated,ems-esp_boiler,ems-esp_boiler_outdated,ems-esp_thermostat_read-only,ems-esp_thermostat_read-only_outdated,ems-esp_thermostat_simple,ems-esp_thermostat_RC35_type,ems-esp_thermostat_simple_outdated,ems-esp_thermostat_RC35_type_outdated,zigbee2mqtt_bridge,sonos2mqtt_bridge,sonos2mqtt_speaker,sonos2mqtt_bridge_comfort,InstarCam,wled_controller,go_eCharger,8channel_ethernet_board_split,8channel_ethernet_board_unified,6channel_ethernet_board_6input_split,6channel_ethernet_board_6input_unified,esp_milight_hub_bridge,OpenMQTTGateway_MCU,worx_landroid,wallpanel_app,weewx_weather_station,McLighting,roon",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5  IODev autocreate:0,1 bridgeRegexp:textField-long devicetopic devPos disable:0,1 disabledForIntervals getList:textField-long imageLink jsonMap:textField-long model periodicCmd readingList:textField-long setExtensionsEvent:1,0 setList:textField-long setStateList event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading ASC:0,1,2 alexaName alexaProactiveEvents:1,0 alexaRoom appOptions:textField-long cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fhem_widget_channels fm_type genericDeviceType:ignore,switch,outlet,light,blind,thermometer,thermostat,garage,window,lock homebridgeMapping:textField-long icon siriName sortby webCmd webCmdLabel:textField-long widgetOverride ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate",
    "Internals": {
      "CID": "shellyswitch25_E8DB84AA1A65",
      "DEF": "shellyswitch25_E8DB84AA1A65",
      "DEVICETOPIC": "Buero_Rollo_Vorne",
      "FUUID": "60885abe-f33f-3896-dadb-68bd7993e1d25997",
      "IODev": "pietMQTT2",
      "LASTInputDev": "pietMQTT2",
      "MSGCNT": "65063",
      "NAME": "Buero_Rollo_Vorne",
      "NR": "278",
      "STATE": "<a href=\"http://192.168.178.200\" target=\"_blank\">\ntrue\n</a>\n36/stop",
      "TYPE": "MQTT2_DEVICE",
      "pietMQTT2_MSGCNT": "65063",
      "pietMQTT2_TIME": "2021-05-12 12:23:42"
    },
    "Readings": {
      "ASC_Enable": { "Value":"on", "Time":"2021-04-27 20:53:57" },
      "ASC_ShuttersLastDrive": { "Value":"day open", "Time":"2021-05-12 08:15:09" },
      "ASC_Time_DriveDown": { "Value":"12.05.2021 - 21:51", "Time":"2021-05-12 08:15:01" },
      "ASC_Time_DriveUp": { "Value":"13.05.2021 - 08:15", "Time":"2021-05-12 08:15:01" },
      "IODev": { "Value":"pietMQTT2", "Time":"2021-05-10 18:47:18" },
      "associatedWith": { "Value":"pietASC", "Time":"2021-05-10 18:47:21" },
      "attrTemplateVersion": { "Value":"20210126", "Time":"2021-04-27 20:46:03" },
      "current": { "Value":"stop", "Time":"2021-05-12 12:23:42" },
      "energy": { "Value":"476", "Time":"2021-05-12 12:23:42" },
      "fw_ver": { "Value":"20210429-100559/v1.10.4-g3f94cd7", "Time":"2021-05-11 14:41:01" },
      "id": { "Value":"shellyswitch25-E8DB84AA1A65", "Time":"2021-05-11 14:41:01" },
      "info_actions_stats_skipped": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_cfg_changed_cnt": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_cloud_connected": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_cloud_enabled": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_fs_free": { "Value":"146082", "Time":"2021-04-27 20:46:03" },
      "info_fs_size": { "Value":"233681", "Time":"2021-04-27 20:46:03" },
      "info_has_update": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_inputs_1_event": { "Value":"", "Time":"2021-04-27 20:46:03" },
      "info_inputs_1_event_cnt": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_inputs_1_input": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_inputs_2_event": { "Value":"", "Time":"2021-04-27 20:46:03" },
      "info_inputs_2_event_cnt": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_inputs_2_input": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_mac": { "Value":"E8DB84AA1A65", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_counters_1": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_counters_2": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_counters_3": { "Value":"116.961", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_is_valid": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_overpower": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_power": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_timestamp": { "Value":"1619556363", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_total": { "Value":"168", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_counters_1": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_counters_2": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_counters_3": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_is_valid": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_overpower": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_power": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_timestamp": { "Value":"1619556363", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_total": { "Value":"66", "Time":"2021-04-27 20:46:03" },
      "info_mqtt_connected": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_overtemperature": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_ram_free": { "Value":"35988", "Time":"2021-04-27 20:46:03" },
      "info_ram_total": { "Value":"49288", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_calibrating": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_current_pos": { "Value":"50", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_is_valid": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_last_direction": { "Value":"open", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_overtemperature": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_positioning": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_power": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_safety_switch": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_source": { "Value":"http", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_state": { "Value":"stop", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_stop_reason": { "Value":"normal", "Time":"2021-04-27 20:46:03" },
      "info_serial": { "Value":"25", "Time":"2021-04-27 20:46:03" },
      "info_temperature": { "Value":"60.49", "Time":"2021-04-27 20:46:03" },
      "info_temperature_status": { "Value":"Normal", "Time":"2021-04-27 20:46:03" },
      "info_time": { "Value":"20:46", "Time":"2021-04-27 20:46:03" },
      "info_tmp_is_valid": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_tmp_tC": { "Value":"60.49", "Time":"2021-04-27 20:46:03" },
      "info_tmp_tF": { "Value":"140.88", "Time":"2021-04-27 20:46:03" },
      "info_unixtime": { "Value":"1619549163", "Time":"2021-04-27 20:46:03" },
      "info_update_has_update": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_update_new_version": { "Value":"20210415-130044/v1.10.3-g23074d0", "Time":"2021-04-27 20:46:03" },
      "info_update_old_version": { "Value":"20210415-130044/v1.10.3-g23074d0", "Time":"2021-04-27 20:46:03" },
      "info_update_status": { "Value":"idle", "Time":"2021-04-27 20:46:03" },
      "info_uptime": { "Value":"306", "Time":"2021-04-27 20:46:03" },
      "info_voltage": { "Value":"230.87", "Time":"2021-04-27 20:46:03" },
      "info_wifi_sta_connected": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_wifi_sta_ip": { "Value":"192.168.178.200", "Time":"2021-04-27 20:46:03" },
      "info_wifi_sta_rssi": { "Value":"-80", "Time":"2021-04-27 20:46:03" },
      "info_wifi_sta_ssid": { "Value":"barsch_1", "Time":"2021-04-27 20:46:03" },
      "input0": { "Value":"0", "Time":"2021-05-12 12:23:42" },
      "input1": { "Value":"0", "Time":"2021-05-12 12:23:42" },
      "ip": { "Value":"192.168.178.200", "Time":"2021-05-11 14:41:01" },
      "mac": { "Value":"E8DB84AA1A65", "Time":"2021-05-11 14:41:01" },
      "model": { "Value":"SHSW-25", "Time":"2021-05-11 14:41:01" },
      "new_fw": { "Value":"false", "Time":"2021-05-11 14:41:01" },
      "online": { "Value":"true", "Time":"2021-05-11 14:41:01" },
      "overtemperature": { "Value":"0", "Time":"2021-05-12 12:23:42" },
      "pct": { "Value":"36", "Time":"2021-05-12 12:23:42" },
      "power": { "Value":"0.00", "Time":"2021-05-12 12:23:42" },
      "roller_0_energy": { "Value":"476", "Time":"2021-05-12 12:23:42" },
      "roller_0_power": { "Value":"0.00", "Time":"2021-05-12 12:23:42" },
      "roller_0_stop_reason": { "Value":"normal", "Time":"2021-05-12 12:23:42" },
      "state": { "Value":"36", "Time":"2021-05-12 12:23:42" },
      "temperature": { "Value":"60.86", "Time":"2021-05-12 12:23:42" },
      "temperature_f": { "Value":"141.55", "Time":"2021-05-12 12:23:42" },
      "temperature_status": { "Value":"Normal", "Time":"2021-05-12 12:23:42" },
      "x_mqttcom": { "Value":"set announce", "Time":"2021-04-27 20:46:03" }
    },
    "Attributes": {
      "ASC": "2",
      "ASC_Pos_Reading": "pct",
      "ASC_Time_Up_Early": "08:15",
      "ASC_Up": "time",
      "IODev": "pietMQTT2",
      "appOptions": "{ \"template\": \"shutter\"}",
      "cmdIcon": "open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50",
      "comment": "Shelly 2.5 in Roller-Mode. 100=opened / 0=closed",
      "devStateIcon": ".*/open:fts_shutter_up@red .*/close:fts_shutter_down@red true:10px-kreis-gruen false:10px-kreis-rot 0/stop:fts_shutter_100 100/stop:fts_shutter_10 9\u005cd/stop:fts_shutter_10 8\u005cd/stop:fts_shutter_20 7\u005cd/stop:fts_shutter_30 6\u005cd/stop:fts_shutter_40 5\u005cd/stop:fts_shutter_50 4\u005cd/stop:fts_shutter_60 3\u005cd/stop:fts_shutter_70 2\u005cd/stop:fts_shutter_80 1\u005cd/stop:fts_shutter_90 0\u005cd/stop:fts_shutter_100 set_.*:fts_shutter_updown",
      "event-on-change-reading": "ASC_.*,pct",
      "eventMap": "open:opens close:closes",
      "genericDeviceType": "blind",
      "model": "shelly25_roller_invert_0",
      "readingList": "shellies/shellyswitch25-E8DB84AA1A65/roller/0/pos:.* pct\n  shellies/shellyswitch25-E8DB84AA1A65/status/0/rollers:.* power\n  shellies/shellyswitch25-E8DB84AA1A65/online:.* online\n  shellies/shellyswitch25-E8DB84AA1A65/announce:.* { json2nameValue($EVENT) }\n  shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-E8DB84AA1A65...mac.*, ? json2nameValue($EVENT) : return }\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0:.* current\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0:open {{'state' => 'opening'}}\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0:close {{'state' => 'closing'}}\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0/pos:.* state\n  shellies/shellyswitch25-E8DB84AA1A65/input/1:.* input1\n  shellies/shellyswitch25-E8DB84AA1A65/input/0:.* input0\n  shellies/shellyswitch25-E8DB84AA1A65/relay/power:.* power\n  shellies/shellyswitch25-E8DB84AA1A65/relay/energy:.* energy\n  shellies/shellyswitch25-E8DB84AA1A65/temperature:.* temperature\n  shellies/shellyswitch25-E8DB84AA1A65/overtemperature:.* overtemperature\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0/power:.* roller_0_power\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0/energy:.* roller_0_energy\n  shellies/shellyswitch25-E8DB84AA1A65/temperature_f:.* temperature_f\nshellyswitch25_E8DB84AA1A65:shellies/shellyswitch25-E8DB84AA1A65/info:.* { json2nameValue($EVENT, 'info_', $JSONMAP) }\nshellyswitch25_E8DB84AA1A65:shellies/shellyswitch25-E8DB84AA1A65/roller/0/stop_reason:.* roller_0_stop_reason\nshellyswitch25_E8DB84AA1A65:shellies/shellyswitch25-E8DB84AA1A65/temperature_status:.* temperature_status",
      "room": "Buero,MQTT2_DEVICE",
      "setList": "open:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command open\n  close:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command close\n  half:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command/pos 50\n  stop:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command stop\n  pct:slider,0,1,100 shellies/shellyswitch25-E8DB84AA1A65/roller/0/command/pos $EVTPART1\n  x_recalibration:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command rc\n  x_update:noArg shellies/shellyswitch25-E8DB84AA1A65/command update_fw\n  x_mqttcom shellies/shellyswitch25-E8DB84AA1A65/command $EVTPART1",
      "setStateList": "open close half stop pct",
      "stateFormat": "<a href=\"http://ip\" target=\"_blank\">\nonline\n</a>\nstate/current",
      "userattr": "ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate",
      "webCmd": ":open:close:half:stop:pct"
    }
  },


vielen Dank und viele Grüße
Pit
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Cluni am 12 Mai 2021, 13:45:04
Zitat von: piet_pit am 11 Mai 2021, 20:39:22
sieht prima aus, würde ich evtl. übernehmen.

Welchen Aktor verwendest du für die Rolladen? Ich habe den Shelly2.5 und experimentiere noch daran herum...

Hi Pit,

ich benutze schon seit Jahren Homematic Aktoren Typ HM-LC-BL1-FM. Ich habe zwar auch ein paar Shellys zu Hause, aber schon älteren Datums (Shelly 1 und 2). Diese nutze ich aber bis jetzt nicht als Rollladenaktoren. Daher kann ich dir leider nicht sagen, wie das da aussehen müsste, aber wenn ich mir dein list anschaue, dann würde ich sagen, dass das unter main wie folgt aussehen müsste

  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["state:stop:close","state::stop"],
      "leftLong": ["state::close"],
      "leftLongRelease": ["state::stop"],
      "text": ["state:opening:öffnet...","state:closing:schließt...","pct:100:offen","pct:1:%s %","pct:0:geschlossen"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["state:stop:open","state::stop"],
      "rightLong": ["state::open"],
      "rightLongRelease": ["state::stop"]
    }


Bei "text" müsste man nochmal gucken, ob das so hinhaut.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Cluni am 12 Mai 2021, 13:54:16
Gerade nochmal geschaut. Müsste so passen:

{
  "name": "shellyshutter",
  "author": "jemu75/BHE",
  "date": "2021-05-12",
  "status": {
    "bar": ["pct:100:100:orange","pct:1:%n:yellow","pct:0:100:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["state:stop:close","state::stop"],
      "leftLong": ["state::close"],
      "leftLongRelease": ["state::stop"],
      "text": ["state:opening:öffnet...","state:closing:schließt...","pct:100:offen","pct:1:%s %","pct:0:geschlossen"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["state:stop:open","state::stop"],
      "rightLong": ["state::open"],
      "rightLongRelease": ["state::stop"]
    }
  ],
  "info": {
    "left1": ["motor:up::mdi-window-shutter-alert","motor:down::mdi-window-shutter-alert","pct:1::mdi-window-shutter-open","pct:::mdi-window-shutter"]
  }
}


Ich habe das Template nun shellyshutter genannt.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: piet_pit am 12 Mai 2021, 14:57:38
Hallo Cluni,

vielen Dank für die Hilfe, der Balken und die Farbänderungen klappen einwandfrei.

Was nicht klappt, ist das Verhalten bei leftclick (über den Browser).

1* leftclick > Rollo fährt runter > ok!
2tes mal leftclick > Rollo stoppt kurz (?) und fährt weiter runter, es bleibt nicht stehen >:(

Gleiches wenn das Rollo hoch fährt.

Viele Grüße
Pit
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 12 Mai 2021, 15:00:24
Zitat von: piet_pit am 12 Mai 2021, 12:31:55
Hallo Jemu75,

anbei dieses jsonlist2 des Shelly2.5, an dem führe ich meine "Experimente" durch.

Ich nutze für den Shelly2.5 das von FHEM bereitgestellte Template MQTT (danke nochmals an Beta-User) sowie das ASC von Cooltux (danke auch an Cooltux).


{
    "Name":"Buero_Rollo_Vorne",
    "PossibleSets":"opens:noArg closes:noArg open:noArg close:noArg half:noArg stop:noArg pct:slider,0,1,100 x_recalibration:noArg x_update:noArg x_mqttcom attrTemplate:?,General_Info,MQTT2_CLIENT_general_bridge,MQTT2_IO_ignoreRegexp_basic,MQTT2_IO_ignoreRegexp_tasmota,MQTT2_IO_ignoreRegexp_shelly,MQTT2_IO_ignoreRegexp_homeassistant,speechcontrol_general_naming_master_template,speech_recognition_general_naming_master_template,tasmota_basic,tasmota_basic_state_power1,tasmota_1ch+motion+SI7021,tasmota_POW,tasmota_POW_USB_split,tasmota_plug_with_rgbw_split,tasmota_ir,tasmota_rf,tasmota_rf_keys_example,tasmota_use_DS18x20_id,tasmota_zigbee2tasmota_bridge,tasmota_clear_readings_reset_readingsList_and_reboot,tasmota_set_lowercase_texts_and_state1,tasmota_set_uppercase_texts_and_state1,tasmota_set_power1_state_to_power,tasmota_2channel_split,tasmota_2ch_unified,tasmota_2ch_shutter_invert_1,tasmota_2ch_shutter_invert_0,tasmota_4ch_two_shutters_invert_0,tasmota_3channel_input_shelly_i3,tasmota_4channel_split,tasmota_3socketUSB_split,tasmota_4ch_unified_basic_text,tasmota_4ch_unified_icon,tasmota_8ch_unified_icon,tasmota_8channel_split,tasmota_rgb_led_controller,tasmota_rgbw_led,tasmota_rgbcct_light,tasmota_cct_led,tasmota_TuyaMCU_dimmer,tasmota_window_sensor_MC400A,shelly1,shelly_announces,shellyplug,shelly1_w_energy_measuring,shelly1_w_energy_measuring_washer_example,shelly3em,shelly2_split,shelly25_split,shelly2_roller,shelly25_roller_invert_0,shelly25_roller_invert_1,shelly4pro_split,shelly4pro_unified,shellybulb,shellyduo,shellymotion,shellyht,shellyflood,shellygas,shellydw,shelly_ix3,shelly2rgbw_color,shelly2rgbw_4w_split,shellydimmer,ESPurna_single_relay,eBus_daemon_splitter,ems-esp_heater_device,ems-esp_heater_device_outdated,ems-esp_boiler,ems-esp_boiler_outdated,ems-esp_thermostat_read-only,ems-esp_thermostat_read-only_outdated,ems-esp_thermostat_simple,ems-esp_thermostat_RC35_type,ems-esp_thermostat_simple_outdated,ems-esp_thermostat_RC35_type_outdated,zigbee2mqtt_bridge,sonos2mqtt_bridge,sonos2mqtt_speaker,sonos2mqtt_bridge_comfort,InstarCam,wled_controller,go_eCharger,8channel_ethernet_board_split,8channel_ethernet_board_unified,6channel_ethernet_board_6input_split,6channel_ethernet_board_6input_unified,esp_milight_hub_bridge,OpenMQTTGateway_MCU,worx_landroid,wallpanel_app,weewx_weather_station,McLighting,roon",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5  IODev autocreate:0,1 bridgeRegexp:textField-long devicetopic devPos disable:0,1 disabledForIntervals getList:textField-long imageLink jsonMap:textField-long model periodicCmd readingList:textField-long setExtensionsEvent:1,0 setList:textField-long setStateList event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading ASC:0,1,2 alexaName alexaProactiveEvents:1,0 alexaRoom appOptions:textField-long cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fhem_widget_channels fm_type genericDeviceType:ignore,switch,outlet,light,blind,thermometer,thermostat,garage,window,lock homebridgeMapping:textField-long icon siriName sortby webCmd webCmdLabel:textField-long widgetOverride ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate",
    "Internals": {
      "CID": "shellyswitch25_E8DB84AA1A65",
      "DEF": "shellyswitch25_E8DB84AA1A65",
      "DEVICETOPIC": "Buero_Rollo_Vorne",
      "FUUID": "60885abe-f33f-3896-dadb-68bd7993e1d25997",
      "IODev": "pietMQTT2",
      "LASTInputDev": "pietMQTT2",
      "MSGCNT": "65063",
      "NAME": "Buero_Rollo_Vorne",
      "NR": "278",
      "STATE": "<a href=\"http://192.168.178.200\" target=\"_blank\">\ntrue\n</a>\n36/stop",
      "TYPE": "MQTT2_DEVICE",
      "pietMQTT2_MSGCNT": "65063",
      "pietMQTT2_TIME": "2021-05-12 12:23:42"
    },
    "Readings": {
      "ASC_Enable": { "Value":"on", "Time":"2021-04-27 20:53:57" },
      "ASC_ShuttersLastDrive": { "Value":"day open", "Time":"2021-05-12 08:15:09" },
      "ASC_Time_DriveDown": { "Value":"12.05.2021 - 21:51", "Time":"2021-05-12 08:15:01" },
      "ASC_Time_DriveUp": { "Value":"13.05.2021 - 08:15", "Time":"2021-05-12 08:15:01" },
      "IODev": { "Value":"pietMQTT2", "Time":"2021-05-10 18:47:18" },
      "associatedWith": { "Value":"pietASC", "Time":"2021-05-10 18:47:21" },
      "attrTemplateVersion": { "Value":"20210126", "Time":"2021-04-27 20:46:03" },
      "current": { "Value":"stop", "Time":"2021-05-12 12:23:42" },
      "energy": { "Value":"476", "Time":"2021-05-12 12:23:42" },
      "fw_ver": { "Value":"20210429-100559/v1.10.4-g3f94cd7", "Time":"2021-05-11 14:41:01" },
      "id": { "Value":"shellyswitch25-E8DB84AA1A65", "Time":"2021-05-11 14:41:01" },
      "info_actions_stats_skipped": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_cfg_changed_cnt": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_cloud_connected": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_cloud_enabled": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_fs_free": { "Value":"146082", "Time":"2021-04-27 20:46:03" },
      "info_fs_size": { "Value":"233681", "Time":"2021-04-27 20:46:03" },
      "info_has_update": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_inputs_1_event": { "Value":"", "Time":"2021-04-27 20:46:03" },
      "info_inputs_1_event_cnt": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_inputs_1_input": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_inputs_2_event": { "Value":"", "Time":"2021-04-27 20:46:03" },
      "info_inputs_2_event_cnt": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_inputs_2_input": { "Value":"0", "Time":"2021-04-27 20:46:03" },
      "info_mac": { "Value":"E8DB84AA1A65", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_counters_1": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_counters_2": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_counters_3": { "Value":"116.961", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_is_valid": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_overpower": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_power": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_timestamp": { "Value":"1619556363", "Time":"2021-04-27 20:46:03" },
      "info_meters_1_total": { "Value":"168", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_counters_1": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_counters_2": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_counters_3": { "Value":"0.000", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_is_valid": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_overpower": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_power": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_timestamp": { "Value":"1619556363", "Time":"2021-04-27 20:46:03" },
      "info_meters_2_total": { "Value":"66", "Time":"2021-04-27 20:46:03" },
      "info_mqtt_connected": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_overtemperature": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_ram_free": { "Value":"35988", "Time":"2021-04-27 20:46:03" },
      "info_ram_total": { "Value":"49288", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_calibrating": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_current_pos": { "Value":"50", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_is_valid": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_last_direction": { "Value":"open", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_overtemperature": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_positioning": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_power": { "Value":"0.00", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_safety_switch": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_source": { "Value":"http", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_state": { "Value":"stop", "Time":"2021-04-27 20:46:03" },
      "info_rollers_1_stop_reason": { "Value":"normal", "Time":"2021-04-27 20:46:03" },
      "info_serial": { "Value":"25", "Time":"2021-04-27 20:46:03" },
      "info_temperature": { "Value":"60.49", "Time":"2021-04-27 20:46:03" },
      "info_temperature_status": { "Value":"Normal", "Time":"2021-04-27 20:46:03" },
      "info_time": { "Value":"20:46", "Time":"2021-04-27 20:46:03" },
      "info_tmp_is_valid": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_tmp_tC": { "Value":"60.49", "Time":"2021-04-27 20:46:03" },
      "info_tmp_tF": { "Value":"140.88", "Time":"2021-04-27 20:46:03" },
      "info_unixtime": { "Value":"1619549163", "Time":"2021-04-27 20:46:03" },
      "info_update_has_update": { "Value":"false", "Time":"2021-04-27 20:46:03" },
      "info_update_new_version": { "Value":"20210415-130044/v1.10.3-g23074d0", "Time":"2021-04-27 20:46:03" },
      "info_update_old_version": { "Value":"20210415-130044/v1.10.3-g23074d0", "Time":"2021-04-27 20:46:03" },
      "info_update_status": { "Value":"idle", "Time":"2021-04-27 20:46:03" },
      "info_uptime": { "Value":"306", "Time":"2021-04-27 20:46:03" },
      "info_voltage": { "Value":"230.87", "Time":"2021-04-27 20:46:03" },
      "info_wifi_sta_connected": { "Value":"true", "Time":"2021-04-27 20:46:03" },
      "info_wifi_sta_ip": { "Value":"192.168.178.200", "Time":"2021-04-27 20:46:03" },
      "info_wifi_sta_rssi": { "Value":"-80", "Time":"2021-04-27 20:46:03" },
      "info_wifi_sta_ssid": { "Value":"barsch_1", "Time":"2021-04-27 20:46:03" },
      "input0": { "Value":"0", "Time":"2021-05-12 12:23:42" },
      "input1": { "Value":"0", "Time":"2021-05-12 12:23:42" },
      "ip": { "Value":"192.168.178.200", "Time":"2021-05-11 14:41:01" },
      "mac": { "Value":"E8DB84AA1A65", "Time":"2021-05-11 14:41:01" },
      "model": { "Value":"SHSW-25", "Time":"2021-05-11 14:41:01" },
      "new_fw": { "Value":"false", "Time":"2021-05-11 14:41:01" },
      "online": { "Value":"true", "Time":"2021-05-11 14:41:01" },
      "overtemperature": { "Value":"0", "Time":"2021-05-12 12:23:42" },
      "pct": { "Value":"36", "Time":"2021-05-12 12:23:42" },
      "power": { "Value":"0.00", "Time":"2021-05-12 12:23:42" },
      "roller_0_energy": { "Value":"476", "Time":"2021-05-12 12:23:42" },
      "roller_0_power": { "Value":"0.00", "Time":"2021-05-12 12:23:42" },
      "roller_0_stop_reason": { "Value":"normal", "Time":"2021-05-12 12:23:42" },
      "state": { "Value":"36", "Time":"2021-05-12 12:23:42" },
      "temperature": { "Value":"60.86", "Time":"2021-05-12 12:23:42" },
      "temperature_f": { "Value":"141.55", "Time":"2021-05-12 12:23:42" },
      "temperature_status": { "Value":"Normal", "Time":"2021-05-12 12:23:42" },
      "x_mqttcom": { "Value":"set announce", "Time":"2021-04-27 20:46:03" }
    },
    "Attributes": {
      "ASC": "2",
      "ASC_Pos_Reading": "pct",
      "ASC_Time_Up_Early": "08:15",
      "ASC_Up": "time",
      "IODev": "pietMQTT2",
      "appOptions": "{ \"template\": \"shutter\"}",
      "cmdIcon": "open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50",
      "comment": "Shelly 2.5 in Roller-Mode. 100=opened / 0=closed",
      "devStateIcon": ".*/open:fts_shutter_up@red .*/close:fts_shutter_down@red true:10px-kreis-gruen false:10px-kreis-rot 0/stop:fts_shutter_100 100/stop:fts_shutter_10 9\u005cd/stop:fts_shutter_10 8\u005cd/stop:fts_shutter_20 7\u005cd/stop:fts_shutter_30 6\u005cd/stop:fts_shutter_40 5\u005cd/stop:fts_shutter_50 4\u005cd/stop:fts_shutter_60 3\u005cd/stop:fts_shutter_70 2\u005cd/stop:fts_shutter_80 1\u005cd/stop:fts_shutter_90 0\u005cd/stop:fts_shutter_100 set_.*:fts_shutter_updown",
      "event-on-change-reading": "ASC_.*,pct",
      "eventMap": "open:opens close:closes",
      "genericDeviceType": "blind",
      "model": "shelly25_roller_invert_0",
      "readingList": "shellies/shellyswitch25-E8DB84AA1A65/roller/0/pos:.* pct\n  shellies/shellyswitch25-E8DB84AA1A65/status/0/rollers:.* power\n  shellies/shellyswitch25-E8DB84AA1A65/online:.* online\n  shellies/shellyswitch25-E8DB84AA1A65/announce:.* { json2nameValue($EVENT) }\n  shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-E8DB84AA1A65...mac.*, ? json2nameValue($EVENT) : return }\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0:.* current\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0:open {{'state' => 'opening'}}\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0:close {{'state' => 'closing'}}\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0/pos:.* state\n  shellies/shellyswitch25-E8DB84AA1A65/input/1:.* input1\n  shellies/shellyswitch25-E8DB84AA1A65/input/0:.* input0\n  shellies/shellyswitch25-E8DB84AA1A65/relay/power:.* power\n  shellies/shellyswitch25-E8DB84AA1A65/relay/energy:.* energy\n  shellies/shellyswitch25-E8DB84AA1A65/temperature:.* temperature\n  shellies/shellyswitch25-E8DB84AA1A65/overtemperature:.* overtemperature\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0/power:.* roller_0_power\n  shellies/shellyswitch25-E8DB84AA1A65/roller/0/energy:.* roller_0_energy\n  shellies/shellyswitch25-E8DB84AA1A65/temperature_f:.* temperature_f\nshellyswitch25_E8DB84AA1A65:shellies/shellyswitch25-E8DB84AA1A65/info:.* { json2nameValue($EVENT, 'info_', $JSONMAP) }\nshellyswitch25_E8DB84AA1A65:shellies/shellyswitch25-E8DB84AA1A65/roller/0/stop_reason:.* roller_0_stop_reason\nshellyswitch25_E8DB84AA1A65:shellies/shellyswitch25-E8DB84AA1A65/temperature_status:.* temperature_status",
      "room": "Buero,MQTT2_DEVICE",
      "setList": "open:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command open\n  close:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command close\n  half:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command/pos 50\n  stop:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command stop\n  pct:slider,0,1,100 shellies/shellyswitch25-E8DB84AA1A65/roller/0/command/pos $EVTPART1\n  x_recalibration:noArg shellies/shellyswitch25-E8DB84AA1A65/roller/0/command rc\n  x_update:noArg shellies/shellyswitch25-E8DB84AA1A65/command update_fw\n  x_mqttcom shellies/shellyswitch25-E8DB84AA1A65/command $EVTPART1",
      "setStateList": "open close half stop pct",
      "stateFormat": "<a href=\"http://ip\" target=\"_blank\">\nonline\n</a>\nstate/current",
      "userattr": "ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate",
      "webCmd": ":open:close:half:stop:pct"
    }
  },


vielen Dank und viele Grüße
Pit

Ich denke mit dem Reading current sollte das Problem gut zu lösen sein. Probiere mal bitte folgendes im main-Teil

"main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["current:stop:close","current::stop"],
      "text": ["state:opening:öffnet...","state:closing:schließt...","pct:100:offen","pct:1:%s %","pct:0:geschlossen"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["current:stop:open","current::stop"],
    }
]


Wir schauen also im Reading current ob der Aktor den Motor der Jalousie gerade ansteuert. Wenn das Reading den Wert "stop" hat dann bewirkt der Tastendruck, dass die Jalousie geöffnet bzw. bei der anderen Taste geschlossen wird. Wenn das Reading current irgend einen anderen Wert als "stop" hat, dann löst der Tastendruck "stop" aus. Den "longclick" und "longrelease" habe ich fürs erste Mal rausgenommen. Diese können wir konfigurieren, wenn das so klappt.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: piet_pit am 12 Mai 2021, 15:26:22
Hallo Jemu75,

vielen Dank für deine Hilfe so kurz vor Vatertag....und sorry für den Aufwand.

Leider ist das Verhalten des Rollo unverändert.

VG
Pit

Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 12 Mai 2021, 15:39:12
Zitat von: piet_pit am 12 Mai 2021, 15:26:22
Hallo Jemu75,

vielen Dank für deine Hilfe so kurz vor Vatertag....und sorry für den Aufwand.

Leider ist das Verhalten des Rollo unverändert.

VG
Pit

Dann scheint current seinen Wert nicht zu verändern. Du schreibst ja, dass der Motor kurz stoppt und danach gleich wieder anfährt. Das sieht also so aus, als ob der Befehl "close" bzw. "open" erneut gesendet wird. Ich denke es würde Sinn machen, die Veränderung der Readings von dem Shelly 2.5 mal genau zu beobachten. So findet man vielleicht am schnellsten das Reading, welches den aktuellen Motorstatus repräsentiert.

PS.: meine Vermutung kannst du übrigens gern mal prüfen, indem du den debugMode von FHEMApp aktivierst und dann mal in das syslog schaust.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Benni am 13 Mai 2021, 22:52:46
Hallo Jens,

ich kann ja in Templates Connected-Devices schalten, indem ich ein Kommando "set ...." angebe. Sprich ich muss hier das set explizit angeben.
Kann ich das in normalen Devices auch? Ein (Macro-)Notify zum Beispiel müsste ich per trigger auslösen,  bräuchte also beim jeweiligen Notify-Device statt des (impliziten) set ein trigger-Kommando.

Kann ich sowas machen?

Falls nicht, würde ich mir eben alternativ  ein Dummy-Device erzeugen und das Notify-Device per Connected einbinden und dann über "trigger Connected....." auslösen. (Wahrscheinlich würde ich das auch nicht, sondern den Dummy schalten und das notify als echtes notify für den Dummy verwenden ;D )

gb#
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 14 Mai 2021, 08:17:04
Zitat von: Benni am 13 Mai 2021, 22:52:46
Hallo Jens,

ich kann ja in Templates Connected-Devices schalten, indem ich ein Kommando "set ...." angebe. Sprich ich muss hier das set explizit angeben.
Kann ich das in normalen Devices auch? Ein (Macro-)Notify zum Beispiel müsste ich per trigger auslösen,  bräuchte also beim jeweiligen Notify-Device statt des (impliziten) set ein trigger-Kommando.

Kann ich sowas machen?

Falls nicht, würde ich mir eben alternativ  ein Dummy-Device erzeugen und das Notify-Device per Connected einbinden und dann über "trigger Connected....." auslösen. (Wahrscheinlich würde ich das auch nicht, sondern den Dummy schalten und das notify als echtes notify für den Dummy verwenden ;D )

gb#

Sachen gibt's. Ich sollte mich langsam mal mit FHEM beschäftigen...  ;D ;D
Probiere das einfach mal aus. Falls es nicht geht, kann ich den "Baustein" der die FHEM Kommando's zusammen setzt gern dahingehend anpassen.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 14 Mai 2021, 09:16:44
Hi Jens,
nur für den Fall dass du den fhem command Baustein anfasst, kannst Du evtl drüber nachdenken auch Perl-code {} mit einzubauen.  .....ich habs im Moment auch über einen zusätzlichen dummy gelöst, ist daher kein Problem und auch kein Featurewunsch meinerseits. Nur informativ.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Benni am 16 Mai 2021, 11:10:23
Zitat von: Jamo am 14 Mai 2021, 09:16:44
Hi Jens,
nur für den Fall dass du den fhem command Baustein anfasst, kannst Du evtl drüber nachdenken auch Perl-code {} mit einzubauen.  .....ich habs im Moment auch über einen zusätzlichen dummy gelöst, ist daher kein Problem und auch kein Featurewunsch meinerseits. Nur informativ.

Ich denke Perl sollte besser in FHEM bleiben ;)

gb#
Titel: Frage zum Cam-Template
Beitrag von: marboj am 17 Mai 2021, 07:00:23
Guten Morgen,

Template funktioniert auf Anhieb. Habe beim FHEM-Device lediglich unter app-options "{ "template": "cam", "setup": { "source": "<stream_url>" } }" eingetragen. Wie bekomme ich das Template jetzt auf den Homebildschirm?

Gruß
Marco
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 17 Mai 2021, 07:28:59
Hallo Marco,
home: true ist dein Freund. Also:
{ "template": "cam", "name": "Kamera", "home": true, "setup": { ...
Schau auch mal in die Doku unter https://github.com/jemu75/fhemApp#readme. 
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 17 Mai 2021, 07:55:57
Super, das klappt.

Nun zur Folgefrage: Habe meinen Homescreen angehängt, kann man das linke Panel "Sicherheit" nach rechts schieben?

Gruß
Marco
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 17 Mai 2021, 08:11:31
Hallo Marco,
sortby: n ist dein Freund. Das muss dann aber für alle anderen Templates auch einfügt werden, es sei denn das sortby gibts schon im FHEM device und wird direkt aus dem FHEM device übernommen/genommen. Also:
Code: [Auswählen]
{ "template": "cam", "name": "Kamera", "home": true, "sortby": 10, "setup": { ...
Schau auch mal in die Doku unter https://github.com/jemu75/fhemApp#readme.

EDIT:
Du möchtest wahrscheinlich später noch die Breite deiner Panels 'Komfort' und 'Sicherheit' anpassen, sieht ja grauselig aus, das ist Platzverschwendung. Bei mir gehts cross-Platform mit
"size": "col-12 col-sm-6 col-md-4 col-lg-4", ...

Jens hat viel Aufwand spendiert und die Doku excellent ausgearbeitet, ist dort auch alles bestens beschrieben.

Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 17 Mai 2021, 09:13:52
Passt. Vielen Dank ;D
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 17 Mai 2021, 19:06:19
Zitat von: Jamo am 17 Mai 2021, 08:11:31
Hallo Marco,
sortby: n ist dein Freund. Das muss dann aber für alle anderen Templates auch einfügt werden, es sei denn das sortby gibts schon im FHEM device und wird direkt aus dem FHEM device übernommen/genommen. Also:
Code: [Auswählen]
{ "template": "cam", "name": "Kamera", "home": true, "sortby": 10, "setup": { ...
Schau auch mal in die Doku unter https://github.com/jemu75/fhemApp#readme.

EDIT:
Du möchtest wahrscheinlich später noch die Breite deiner Panels 'Komfort' und 'Sicherheit' anpassen, sieht ja grauselig aus, das ist Platzverschwendung. Bei mir gehts cross-Platform mit
"size": "col-12 col-sm-6 col-md-4 col-lg-4", ...

Jens hat viel Aufwand spendiert und die Doku excellent ausgearbeitet, ist dort auch alles bestens beschrieben.

Sensationell erklärt. Danke Dir jamo!  :D
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Pusemukel am 19 Mai 2021, 11:52:23
Hallo,

Kurze frage kann ich das Kamera Template auch missbrauchen um eine Grafana URL anzeigen zu lassen ?
so etwas wie: http://xxx.yyy.zzz.ooo/d/i3OkCRiMk/photovoltaik-ubersicht?viewPanel=2&orgId=1&from=now%2Fd&to=now
Das klappt bei mir nicht, vielleicht ist die Lösung das es damit nicht funktioniert, gibt es da schon was ?!

Grüße
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 19 Mai 2021, 12:34:17
Zitat von: Pusemukel am 19 Mai 2021, 11:52:23
Hallo,

Kurze frage kann ich das Kamera Template auch missbrauchen um eine Grafana URL anzeigen zu lassen ?
so etwas wie: http://xxx.yyy.zzz.ooo/d/i3OkCRiMk/photovoltaik-ubersicht?viewPanel=2&orgId=1&from=now%2Fd&to=now
Das klappt bei mir nicht, vielleicht ist die Lösung das es damit nicht funktioniert, gibt es da schon was ?!

Grüße

Hi,

das Template setzt die URL, die über den Parameter source definiert wird, in einen HTML <img>Tag.
Wenn grafana eine Grafik bzw. cgi zurück liefert, dann könnte das klappen. Alternativ gern mal das Chart-Template anschauen. Das ist optimal auf das Design der App ausgerichtet.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 19 Mai 2021, 12:41:11
Das Cam-Template funktioniert wunderbar, auf dem PC wird das Kamera-Bild einwandfrei angezeigt. Auf dem Handy / Tablett erkennt man nur einen Pixel, der das Kamerabild darstellt. Woran liegt das?
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 19 Mai 2021, 18:32:19
Zitat von: marboj am 19 Mai 2021, 12:41:11
Das Cam-Template funktioniert wunderbar, auf dem PC wird das Kamera-Bild einwandfrei angezeigt. Auf dem Handy / Tablett erkennt man nur einen Pixel, der das Kamerabild darstellt. Woran liegt das?

Kann ich so noch nicht einschätzen. Was genau meinst du mit Pixel?
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 20 Mai 2021, 06:59:20
schwierig zu beschreiben, deswegen ein Screenshot vom Handy...
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 20 Mai 2021, 18:56:46
Zitat von: marboj am 20 Mai 2021, 06:59:20
schwierig zu beschreiben, deswegen ein Screenshot vom Handy...


Niemand eine Idee?
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 20 Mai 2021, 19:09:17
Nein eine Idee habe ich auch nicht, aber es sieht so aus als hätte dein Handy keinen Zugriff auf das Bild, aus irgendeinem Grund. Irgendwas mit Netzwerk? GastNetz / Wlan? HTTPS?
Der PC haengt ja am Kabel - keine Ahnung.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 20 Mai 2021, 20:16:19
Zitat von: marboj am 20 Mai 2021, 06:59:20
schwierig zu beschreiben, deswegen ein Screenshot vom Handy...

Sorry, bin aktuell recht straff eingebunden. Da klappt es nicht immer gleich mit einer Antwort.
Wenn du dieses Bild siehst, dann heißt das, dass dein Bildlink nicht funktioniert. Du kannst den Link prüfen, indem du die URL mal separat in einem anderen Browserfenster aufrufst. Wichtig ist, dass es sich um einen Bildlink handeln muss. (jpg, mjpg, cgi) :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 20 Mai 2021, 21:48:59
das ist ja merkwürdig. Wenn ich die URL im Browser auf dem Handy eingebe, wird das Bild angezeigt. Auf dem Handy geht es nicht.

{ "template": "cam", "name": "Carport", "home": true, "setup": { "source": "http://xxxxx:xxxxx@192.xxx.xxx.xx/mjpeg/snap.cgi?chn=0" } }
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 20 Mai 2021, 22:00:06
Zitat von: marboj am 20 Mai 2021, 21:48:59
das ist ja merkwürdig. Wenn ich die URL im Browser auf dem Handy eingebe, wird das Bild angezeigt. Auf dem Handy geht es nicht.

{ "template": "cam", "name": "Carport", "home": true, "setup": { "source": "http://xxxxx:xxxxx@192.xxx.xxx.xx/mjpeg/snap.cgi?chn=0" } }

Die Übergabe von Benutzer und Passwort in einem Link wird blockiert. Das funktioniert tatsächlich nur in der Eingabezeile des Browsers. Ist ja im Grunde auch sehr unsicher solche Daten permanent in einen Link zu packen. Da kannst du den Passwortschutz an der Camera auch rausnehmen. Wenn du bei Google mal suchst, findest du einiges zu dem Thema.  8)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 20 Mai 2021, 22:20:14
ok, aber earum geht es am PC ???
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 20 Mai 2021, 22:27:16
Zitat von: marboj am 20 Mai 2021, 22:20:14
ok, aber earum geht es am PC ???

Vielleicht hast du am PC einen anderen Browser im Einsatz?
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: MandelHL am 26 Mai 2021, 23:22:04
Hallo,

erst mal vorweg: Das klappt ja super, vielen Dank jemu75.

Ich würde gerne einen Knopf basteln, der mir eine Aktion deaktiviert.

Wenn ich z.B. nicht möchte, dass mein Rolladen zu einer bestimmten Zeit nicht herunterfährt, weil ich noch draußen sitze.
Bisher habe ich dann über das WI "set" und dann auf "inactive" gewechselt.
Kann ich dafür nicht einfach einen Schalter/Knopf erstellen, der genau diese Funktion ermöglicht?

Grüße
Mandel
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Benni am 27 Mai 2021, 09:54:42
Zitat von: MandelHL am 26 Mai 2021, 23:22:04
Hallo,

erst mal vorweg: Das klappt ja super, vielen Dank jemu75.

Ich würde gerne einen Knopf basteln, der mir eine Aktion deaktiviert.

Wenn ich z.B. nicht möchte, dass mein Rolladen zu einer bestimmten Zeit nicht herunterfährt, weil ich noch draußen sitze.
Bisher habe ich dann über das WI "set" und dann auf "inactive" gewechselt.
Kann ich dafür nicht einfach einen Schalter/Knopf erstellen, der genau diese Funktion ermöglicht?

Grüße
Mandel

Magst du nicht endlich mal die Doku (https://github.com/jemu75/fhemApp#readme) lesen und dir die darin enthaltenen Beispiele anschauen?

Ich nehme an, du steuerst das mit einem device vom Type "at" oder "DOIF". Das Device ist ein Device, wie jedes andere auch und kann entsprechend mit einem appOptions-Attribut für fhemapp konfiguriert werden. Ich könnte dafür das Template "switch" nehmen und statt "on" ein "active" senden und statt des "off" ein "inactive" und schon hast du was du möchtest.

Ich habe genau sowas bei mir an jedem (!) notify, watchdog und at (https://forum.fhem.de/index.php/topic,120913.msg1147070.html#msg1147070)
(doif habe ich nicht in Verwendung!)

gb#


Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: MandelHL am 27 Mai 2021, 10:26:28
Danke Benni und sorry, ich hatte mich gestern schon intensiver mit der Doku beschäftigt und einige Einstellungen vorgenommen. Das hat auch super geklappt.

Der Hinweis mit dem Einstellen auf "active" und "inactive" statt "DOIF" ist klasse. Ich hatte das in meinem FHEM bisher komplizierter geregelt und werde es auch da ändern.

Habe mich aber tatsächlich schon gut durchgearbeitet.

EDIT:
Ich habe mir Deinen Thread #615 "https://forum.fhem.de/index.php/topic,120913.615.html (https://forum.fhem.de/index.php/topic,120913.615.html)" durchgelesen und auch meine 99_myUtils.pm um
Notify
sub newNotify_appOptions {
my $deviceName=shift;

Log3 'global',3,"newNotify_appOptions: $deviceName";

my $attrCmd="attr $deviceName appOptions ". << 'END_VAL';
{
  "panel": {
    "status": [
      "state:inactive:deaktiviert:0:success",
      "state::aktiv:100:success"
    ],
    "btn": [
      "state:inactive:mdi-toggle-switch-off",
      "state::mdi-toggle-switch"
    ],
    "click": [
      "state:inactive:active",
      "state::inactive"
    ]
  }
}
END_VAL

fhem $attrCmd;

}
und

at
sub newAt_appOptions {
my $deviceName=shift;

Log3 'global',3,"newAt_appOptions: $deviceName";

my $attrCmd="attr $deviceName appOptions ". << 'END_VAL';
{
  "panel": {
    "status": [
      "state:inactive:deaktiviert:0:success",
      "state::%s:100:success"
    ],
    "btn": [
      "state:inactive:mdi-toggle-switch-off",
      "state::mdi-toggle-switch"
    ],
    "click": [
      "state:inactive:active",
      "state::inactive"
    ]
  }
}
END_VAL

fhem $attrCmd;

}


ergänzt.

Aber nun hänge ich leider hier:
defmod fhemapp_global.defined notify global.DEFINED.* {\
my $newType=$defs{$EVTPART1}->{TYPE};;\
Log3 'global',3,"global.DEFINED new $newType: $EVTPART1";;\
\
if ($newType =~/\b(notify)\b/) {\
newNotify_appOptions($EVTPART1);;\
}\
if ($newType =~/\b(at)\b/) {\
newAt_appOptions($EVTPART1);;\
}\
}


Wo muss ich das denn eintragen? Bitte entschuldige, dass ich hier jetzt auch noch mal frage, aber ich stehe doch noch recht am Anfang.

Und dann bin ich dabei, den Switch etwas umzubauen, weil ich ja nur "aktiv" und "inaktiv" brauche.

Hier steckt ja noch viel mehr dahinter. Außerdem weiß ich nicht, wohin mit der Konfiguration, gehe aber davon aus, dass das gleich im Anschluss an ,,{ ,,Template": ,,switch"}," kommt:
{
  "name": "switch",
  "author": "jemu75",
  "date": "2021-03-21",
  "status": {
    "bar": ["state:on:100:success","state:off:0:success"],
    "error": ["Connected.receiver.Readings.Activity.Value:^(?!alive):100:error:keine Verbindung"]
  },
  "main": [
    {
      "leftBtn": "mdi-power-off",
      "leftClick": ["state::off"],
      "text": ["state:on:an","state:off:aus","state::%s"],
      "rightBtn": "mdi-power-on",
      "rightClick": ["state::on"]
    }
  ],
  "info": {
    "left1": ["state:on::mdi-power-plug","state:off::mdi-power-plug-off"],
    "left2": ["power:0.1:%n.2w"],
    "right2": ["Connected.receiver.Readings.Activity.Value:alive::mdi-wifi","Connected.receiver.Readings.Activity.Value:::mdi-wifi-off"]
  }
}


Tut mir leid, ich habe dazu echt nichts gefunden.

Ich glaube, das da oben war ziemlicher Quatsch. Das muss ich nirgendwo einfügen.
Das ist die Konfiguration, die sich hinter ,,templates": ,,switch" verbirgt.
Das muss ich jetzt mit ,,setup" entsprechend anpassen.
Klappt noch nicht, aber ich taste mich ran.

Allerdings weiß ich mit ,,fhemapp_global.defined" tatsächlich nichts anzufangen. Wo muss das hin?

Danke.


Thx
Mandel
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Benni am 27 Mai 2021, 21:51:07
Zitat von: MandelHL am 27 Mai 2021, 10:26:28
Ich glaube, das da oben war ziemlicher Quatsch. Das muss ich nirgendwo einfügen.
Das ist die Konfiguration, die sich hinter ,,templates": ,,switch" verbirgt.
Das muss ich jetzt mit ,,setup" entsprechend anpassen.
Klappt noch nicht, aber ich taste mich ran.

Allerdings weiß ich mit ,,fhemapp_global.defined" tatsächlich nichts anzufangen. Wo muss das hin?

Vergiss mal den ganzen Kram, das ist erst die Kür, du solltest mal mit dem Pflichtteil anfangen.

Wenn du in einem beliebigen notify oder at folgendes in appOptions einträgst, erscheint es auf dem Home-Screen von fhemapp und kann damit aktivert und deaktiviert werden:


{
"template": "switch",
"home": true,
"sortby": "1",
"setup": {
"status":
{
    "bar": [
        "state:inactive:0:success",
        "state:active:100:success"
    ]
        },
"main":
[{
"leftBtn": "mdi-power-off" ,
"leftClick": ["state::inactive"],
"text":
[
"state:inactive:deaktiviert" ,
"state:active:aktiviert" ,
"state::%s"
],
"rightBtn": "mdi-power-on" ,
"rightClick": ["state::active"]
}]
}
}


Ich habe mich hoffentlich auf die Schnelle nicht irgendwo vertippt!

gb#
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: MandelHL am 27 Mai 2021, 22:39:51
Danke, Benni. Das hat natürlich auf Anhieb funktioniert.

Ich hatte es mit
{ "template": "switch", "setup": { "status": {"bar": ["state:active:100:success","state:inactive:0:success"],
    "error": ["Connected.receiver.Readings.Activity.Value:^(?!alive):100:error:keine Verbindung"]
  },}, "main": [{
      "leftBtn": "mdi-power-inactive",
      "leftClick": ["state::inactive"],
      "text": ["state:active:aktiviert","state:inactive:deaktiviert","state::%s"],
      "rightBtn": "mdi-power-active",
      "rightClick": ["state::active"]
    }], "info": {"left1": ["state:active::mdi-power-plug","state:inactive::mdi-power-plug-inactive"],
    "left2": ["power:0.1:%n.2w"],
    "right2": ["Connected.receiver.Readings.Activity.Value:alive::mdi-wifi","Connected.receiver.Readings.Activity.Value:::mdi-wifi-off"]} } }

probiert und hatte mich dabei an der Doku orientiert.

Aber so wie Du es gepostet hast, entspricht es genau dem, was ich brauchte.

Das werde ich auch anderweitig einsetzen.

Danke,
Mandel
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Benni am 28 Mai 2021, 09:33:22
Zitat von: MandelHL am 27 Mai 2021, 22:39:51
Danke, Benni. Das hat natürlich auf Anhieb funktioniert.

Ich hatte es mit
{ "template": "switch", "setup": { "status": {"bar": ["state:active:100:success","state:inactive:0:success"],
    "error": ["Connected.receiver.Readings.Activity.Value:^(?!alive):100:error:keine Verbindung"]
  },}, "main": [{
      "leftBtn": "mdi-power-inactive",
      "leftClick": ["state::inactive"],
      "text": ["state:active:aktiviert","state:inactive:deaktiviert","state::%s"],
      "rightBtn": "mdi-power-active",
      "rightClick": ["state::active"]
    }], "info": {"left1": ["state:active::mdi-power-plug","state:inactive::mdi-power-plug-inactive"],
    "left2": ["power:0.1:%n.2w"],
    "right2": ["Connected.receiver.Readings.Activity.Value:alive::mdi-wifi","Connected.receiver.Readings.Activity.Value:::mdi-wifi-off"]} } }

probiert und hatte mich dabei an der Doku orientiert.

Aber so wie Du es gepostet hast, entspricht es genau dem, was ich brauchte.


Freut mich, dass es so für dich funktioniert!

Noch ein Tip: JSON ist recht empfindlich. Um einen JSON-Block auf grundsätzliche syntaktische Richtigkeit zu prüfen, kann man auf entsprechende Online-Tools zurückgreifen (Bspw.: https://jsonformatter.curiousconcept.com/#). Wenn du dort deinen Versuch prüfen lässt, bekommst du die Fehler recht gut angezeigt!

Du warst im Prinzip schon auf dem richtigen Weg!  ;)

gb#
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: bismosa am 01 Juni 2021, 21:19:14
Hallo!

Ist es eigentlich auch möglich nur eine Teilkonfiguration z.B. bei einem Switch zu verändern?
Hintergrund: Ich möchte bei einem Switch einen Timer mit einbauen. Also nur das Set-Kommando auf "set on-for-timer 300" setzen.
ich könnte mir dazu "einfach" ein Template erstellen. Würde es jedoch auch komfortabel finden, wenn ich z.B.:

{ "template": "switch","home": true,"dashboard": true,"setup": { "main": [{"leftClick": ["reading:value:set_param"]}]}}

nur einzelne Einstellungen überschreiben könnte. In meinem Beispiel wird mir nur noch ein leerer Button angezeigt...

Habe ich in der Doku etwas übersehen?

Gruß
Bismosa
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 01 Juni 2021, 21:30:23
Zitat von: bismosa am 01 Juni 2021, 21:19:14
Hallo!

Ist es eigentlich auch möglich nur eine Teilkonfiguration z.B. bei einem Switch zu verändern?
Hintergrund: Ich möchte bei einem Switch einen Timer mit einbauen. Also nur das Set-Kommando auf "set on-for-timer 300" setzen.
ich könnte mir dazu "einfach" ein Template erstellen. Würde es jedoch auch komfortabel finden, wenn ich z.B.:

{ "template": "switch","home": true,"dashboard": true,"setup": { "main": [{"leftClick": ["reading:value:set_param"]}]}}

nur einzelne Einstellungen überschreiben könnte. In meinem Beispiel wird mir nur noch ein leerer Button angezeigt...

Habe ich in der Doku etwas übersehen?

Gruß
Bismosa

Ich denke das sollte funktionieren, habe es selbst aber noch nicht ausprobiert. Dein Beispiel sieht soweit gut aus. Einzig die Definition hinter "leftClick" passt m.M. nach noch nicht.
Hier müsste z.B. "state::on-for-timer 300" rein. Probiere das bitte mal aus und melde dich, falls es nicht klappt.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 02 Juni 2021, 06:51:11
Zitat von: jemu75 am 20 Mai 2021, 22:27:16
Vielleicht hast du am PC einen anderen Browser im Einsatz?

Falls jemand das gleiche Problem hat: Mit dem Firefox, sowohl auf dem Handy als auch am PC wird das Bild angezeigt. Mit Chrome oder Edge nicht...
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: bismosa am 02 Juni 2021, 07:45:46
Hallo,

Zitat von: jemu75 am 01 Juni 2021, 21:30:23
Ich denke das sollte funktionieren, habe es selbst aber noch nicht ausprobiert. Dein Beispiel sieht soweit gut aus. Einzig die Definition hinter "leftClick" passt m.M. nach noch nicht.
Hier müsste z.B. "state::on-for-timer 300" rein. Probiere das bitte mal aus und melde dich, falls es nicht klappt.  :)

Funktioniert leider nicht. Der Steuerteil fehlt dann komplett. Siehe Anhang.

Vielleicht ist dies dann ja eher ein Feature-request  :) Ist auch nicht eilig

Gruß
Bismosa
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 02 Juni 2021, 12:39:50
Zitat von: bismosa am 02 Juni 2021, 07:45:46
Hallo,

Funktioniert leider nicht. Der Steuerteil fehlt dann komplett. Siehe Anhang.

Vielleicht ist dies dann ja eher ein Feature-request  :) Ist auch nicht eilig

Gruß
Bismosa

Ja, jetzt verstehe ich, weshalb du nichts siehst. Der "main-Teil" bzw. die Ebene im "main-Teil" muss komplett definiert werden. D.h. du musst neben "leftClick" mindestens noch "leftBtn" in appOptions definieren, damit die Taste angezeigt wird. Ebenso müsstest du die anderen Elemente wie z.B. "text" definieren, wenn noch ein Text angezeigt werden soll.

Wenn du nur ein ganz bestimmtes Device etwas anpassen möchtest, dann ist der Weg über appOptions sinnvoll. Wenn die Anpassung umfangreicher ist oder diese für mehrere Devices nötig sind, dann empfehle ich die Erstellung eines separaten Templates.

Beste Grüße
Jens  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: bismosa am 08 Juni 2021, 17:35:47
Hallo,

bin leider erst jetzt wieder dazu gekommen. Ich habe mir einfach ein eigenes Template erstellt.  :)

Ich würde es toll finden, wenn man einzelne Funktionen "überschreiben" könnte. Dann muss man da nicht alles wiederholen. Z.b. könnte ich dann auch das Template für meine Rollläden direkt verwenden.

Aber ich verstehe auch, dass eigene Templates u.U. sinnvoller sein können. Dann wird bei einem Update der integrierten Templates nichts verändert.

Danke!

Gruß
Bismosa
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: LuGu am 08 Juni 2021, 19:05:43
Zitat von: bismosa am 08 Juni 2021, 17:35:47
Ich würde es toll finden, wenn man einzelne Funktionen "überschreiben" könnte. Dann muss man da nicht alles wiederholen. Z.b. könnte ich dann auch das Template für meine Rollläden direkt verwenden.

Hallo bimosa,

das geht doch. Im deinem Fhem Device kannst du mit appOptions in der Rubrik setup Teile des Template ,,überschreiben".
Siehe in der Doku unter Standard Templates anpassen.

Gruß LuGu
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Benni am 09 Juni 2021, 07:36:00
Zitat von: LuGu am 08 Juni 2021, 19:05:43
das geht doch. Im deinem Fhem Device kannst du mit appOptions in der Rubrik setup Teile des Template ,,überschreiben".
Siehe in der Doku unter Standard Templates anpassen.

Die Antwort von Jens hast du anscheinend überlesen? ;)

Zitat von: jemu75 am 02 Juni 2021, 12:39:50
Der "main-Teil" bzw. die Ebene im "main-Teil" muss komplett definiert werden. D.h. du musst neben "leftClick" mindestens noch "leftBtn" in appOptions definieren, damit die Taste angezeigt wird. Ebenso müsstest du die anderen Elemente wie z.B. "text" definieren, wenn noch ein Text angezeigt werden soll.

gb#
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: bismosa am 09 Juni 2021, 09:20:27
Hallo!

Zitat von: jemu75 am 02 Juni 2021, 12:39:50
Der "main-Teil" bzw. die Ebene im "main-Teil" muss komplett definiert werden. D.h. du musst neben "leftClick" mindestens noch "leftBtn" in appOptions definieren, damit die Taste angezeigt wird. Ebenso müsstest du die anderen Elemente wie z.B. "text" definieren, wenn noch ein Text angezeigt werden soll.
Ja. Genau das meinte ich. Überschreiben im Main-Teil ohne alles zu wiederholen  :)

Gruß
Bismosa
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Benni am 09 Juni 2021, 12:49:35
Zitat von: bismosa am 09 Juni 2021, 09:20:27
Hallo!
Ja. Genau das meinte ich. Überschreiben im Main-Teil ohne alles zu wiederholen  :)

Nein! Du kannst nicht nur Teile des Main-Teiles, bzw. einer Main-Ebene überschreiben, sondern wenn, dann musst du die komplette Main-Ebene überschreiben

Eventuell besteht hier auch nur eine mißverständliche Benutzung von "Teile überschreiben"?

gb#
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: MandelHL am 18 Juni 2021, 22:01:32
Hallo,

ich habe meine Wetterstation HM-WDS100-C6-O-2 in FHEMapp eingebunden, allerdings nur mit dem Template "temperature".

Die Station bietet ja aber noch mehr als Temperatur und Luftfeuchtigkeit.

Hat jemand eine Idee, wie auch die anderen Messungen dargestellt werden können oder hat vielleicht schon etwas programmiert?

Danke und viele Grüße
Mandel
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 19 Juni 2021, 14:55:37
Zitat von: MandelHL am 18 Juni 2021, 22:01:32
Hallo,

ich habe meine Wetterstation HM-WDS100-C6-O-2 in FHEMapp eingebunden, allerdings nur mit dem Template "temperature".

Die Station bietet ja aber noch mehr als Temperatur und Luftfeuchtigkeit.

Hat jemand eine Idee, wie auch die anderen Messungen dargestellt werden können oder hat vielleicht schon etwas programmiert?

Danke und viele Grüße
Mandel

Hallo,

Welche Werte würdest du gern anzeigen?
Schicke gern mal ein list von der Wetterstation und die Readings, die du anzeigen möchtest.

Beste Grüße
Jens :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: MandelHL am 20 Juni 2021, 09:39:54
Moin Jens,

hier das List, das wahrscheinlich so ausreicht, oder?

Internals:
   DEF        6808C9
   FUUID      60b6a9be-f33f-6379-94dd-4d1a2074f34443e8
   HMLANGW_MSGCNT 907
   HMLANGW_RAWMSG 0500003CBD86706808C900000000CE5B001DC0301761CF
   HMLANGW_RSSI -60
   HMLANGW_TIME 2021-06-20 09:35:15
   IODev      HMLANGW
   LASTInputDev HMLANGW
   MSGCNT     907
   NAME       Wetterstation
   NOTIFYDEV  global
   NR         88
   STATE      Temperatur: 20.6 °C, Feuchtigkeit: 91 %, Helligkeit: 207, Regen: 8.555 mm/qm, Wind: 4.8 km/h,  Richtung: ESE; ⬉
   TYPE       CUL_HM


Es wäre schon schön, wenn all die Werte angezeigt werden könnten.
Ich weiß nicht, ob es eine Möglichkeit gibt, die Windgeschwindigkeit zusätzlich in Windstärke, also bft, anzeigen zu lassen.
Aber dafür ist das dann wohl hier der falsche Thread.

Danke Dir, dass Du Dich der Sache annimmst.

VG
Mandel
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Benni am 20 Juni 2021, 10:07:18
Zitat von: MandelHL am 20 Juni 2021, 09:39:54
hier das List, das wahrscheinlich so ausreicht, oder?

Hallo Mandel,

ich glaube nicht, dass das reicht! Der interessante Part wären die Readings gewesen!

Hier mal ein list von meinem:


Internals:
   DEF        1FCxxx
   FUUID      5c4a04db-f33f-b8e7-e423-544358c3dfb19fed
   IODev      HMUART3
   LASTInputDev HMUART1
   NAME       HG.XX.WS.Wetter
   NOTIFYDEV  global
   NR         187
   NTFY_ORDER 50-HG.XX.WS.Wetter
   STATE      T: 24.2 H: 64 B: 80 sun: 207
   TYPE       CUL_HM
   chanNo     01
   peerList   Wetterstation
   protLastRcv 2021-06-20 09:56:26
   protRcv    4945 last_at:2021-06-20 09:56:26
   protResnd  3 last_at:2021-06-11 16:51:32
   protSnd    8 last_at:2021-06-11 16:53:55
   protState  CMDs_done
   READINGS:
     2021-06-11 16:19:39   Activity        alive
     2021-06-11 16:53:54   CommandAccepted yes
     from archivexx        D-firmware      1.4
     from archivexx        D-serialNr      KEQ024xxx
     2021-06-11 16:53:54   PairedTo        0x23Axxx
     2021-06-11 16:53:54   RegL_00.         00:00 01:00 02:01 05:00 0A:23 0B:A8 0C:13
     2021-06-11 16:53:55   RegL_01.         00:00 05:1E
     2021-06-11 16:53:55   RegL_01.Wetterstation_chn-FF  00:00 06:19 07:05
     2021-06-20 09:56:26   brightness      80
     2021-06-11 16:53:55   cfgState        PeerVerf
     2021-06-11 16:53:55   commState       CMDs_done
     2021-06-20 09:56:26   dewpoint        17.0
     2021-06-20 09:44:07   hmRain          1
     2021-06-20 09:56:26   humidity        64
     2021-06-20 09:56:26   isRaining       0
     2021-06-11 16:53:54   peerList        Wetterstation
     2020-05-24 07:57:51   powerOn         2020-05-24 07:57:51
     2021-06-20 09:56:26   rain            869.365
     2020-05-24 07:57:51   recentStateType info
     2021-06-20 09:56:26   state           T: 24.2 H: 64 W: 0 R: 869.365 IR: 0 WD: 40 WDR: 67.5 S: 207 B: 80
     2021-05-25 23:16:31   storm           quiet
     2021-06-20 09:56:26   sunshine        207
     2021-06-20 09:56:26   temperature     24.2
     2018-09-23 19:29:42   trig_09         Wetterstation
     2021-05-25 23:16:31   trig_3F         Wetterstation
     2021-05-25 23:16:31   trigger_cnt     152
     2020-05-24 07:57:51   unknown         06000000
     2021-06-20 09:56:26   windDirRange    67.5
     2021-06-20 09:56:26   windDirection   40
     2021-06-20 09:56:26   windSpeed       0
Attributes:
   IODev      HMUART1
   IOgrp      ccu
   actCycle   000:10
   actStatus  alive
   alias      Wettersensor
   autoReadReg 5_readMissing
   event-on-change-reading .*
   event-on-update-reading brightness,humidity,temperature
   expert     defReg,allReg,rawReg,templ
   firmware   1.4
   group      Wetter
   model      HM-WDS100-C6-O
   peerIDs    00000000,373xxxxx
   room       Umwelt
   serialNr   KEQ024xxxx
   stateFormat T: temperature H: humidity B: brightness sun: sunshine
   subType    THSensor


Ich habe mal alles was expert-Daten, userreadings und Readings von anderen Devices (rain / statistics) sind rausgenommen.

Kannst aber gerne mal dein List noch dazu-posten.

gb#

Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: MandelHL am 20 Juni 2021, 14:00:44
Danke, Benni.

Hier mal das komplette List:
Internals:
   DEF        6808C9
   FUUID      60b6a9be-f33f-6379-94dd-4d1a2074f34443e8
   HMLANGW_MSGCNT 1009
   HMLANGW_RAWMSG 050000382386706808C900000001013F001DC0A93BF8EC
   HMLANGW_RSSI -56
   HMLANGW_TIME 2021-06-20 13:54:38
   IODev      HMLANGW
   LASTInputDev HMLANGW
   MSGCNT     1009
   NAME       Wetterstation
   NOTIFYDEV  global
   NR         88
   STATE      Temperatur: 25.7 °C, Feuchtigkeit: 63 %, Helligkeit: 236, Regen: 8.555 mm/qm, Wind: 16.9 km/h,  Richtung: WNW; ⬊
   TYPE       CUL_HM
   chanNo     01
   lastMsg    No:23 - t:70 s:6808C9 d:000000 01013F001DC0A93BF8EC
   protCmdPend 3 CMDs_pending
   protLastRcv 2021-06-20 13:54:38
   protRcv    1009 last_at:2021-06-20 13:54:38
   protState  CMDs_pending
   rssi_at_HMLANGW cnt:1009 min:-62 max:-53 avg:-57.89 lst:-56
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x2b7e898)
     HASH(0x2af7d20)
   CL:
     Authenticated 0
     BUF       
     FD         4
     FW_ID      2960
     LASTACCESS 1624190200
     NAME       WEBphone_192.168.178.153_65355
     NR         3321
     PEER       192.168.178.153
     PORT       65355
     SNAME      WEBphone
     SSL       
     STATE      Connected
     TEMPORARY  1
     TYPE       FHEMWEB
     canAsyncOutput 1
     .attraggr:
     .attrminint:
     READINGS:
       2021-06-20 13:56:40   state           Connected
   READINGS:
     2021-06-06 12:34:49   .D-devInfo      3F0100
     2021-06-06 12:34:49   .D-stc          70
     2021-06-18 19:11:39   .associatedWith Wetterstation,Wetterstation
     2021-06-20 13:54:38   .protLastRcv    20210620135438
     2021-06-06 12:34:49   D-firmware      1.6
     2021-06-06 12:34:49   D-serialNr      PEQ0001456
     2021-06-18 19:11:33   IODev           HMLANGW
     2021-06-07 16:19:47   LuftdruckHpa    0
     2021-06-07 16:19:47   RegenGesamtMm   0
     2021-06-07 16:19:47   RegenMm         0
     2021-06-07 16:19:47   TaupunktTempC   -17.8
     2021-06-07 16:19:47   TemperaturC     -4.1
     2021-06-07 16:19:47   TemperaturGefuehltC -17.8
     2021-06-07 16:19:47   WindKm          6.8
     2021-06-07 16:19:47   WindboeenKm     0.0
     2021-06-07 16:19:47   WindrichtungGrad -180
     2021-06-20 13:54:38   battery         ok
     2021-06-20 13:54:38   brightness      236
     2021-06-18 19:13:07   cfgState        updating
     2021-06-18 19:13:07   commState       CMDs_pending
     2021-06-20 13:54:38   humidity        63
     2021-06-20 13:54:38   isRaining       0
     2021-06-02 07:35:17   peerList        13D5A503
     2021-06-06 12:36:20   powerOn         2021-06-06 12:36:20
     2021-06-20 13:54:38   rain            8.555
     2021-06-06 12:36:20   recentStateType info
     2021-06-20 13:54:38   state           T: 25.7 H: 63 W: 16.9 R: 8.555 IR: 0 WD: 295 WDR: 67.5 S: 248 B: 236
     2021-06-20 13:54:38   sunshine        248
     2021-06-20 13:54:38   temperature     25.7
     2021-06-06 12:36:20   unknown         06000030
     2021-06-20 13:54:38   windDirRange    67.5
     2021-06-20 13:54:38   windDirection   295
     2021-06-20 13:54:38   windDirectionIcon ⬊
     2021-06-20 13:54:38   windDirectionText WNW
     2021-06-20 13:54:38   windSpeed       16.9
     2021-06-07 08:09:18   winddirText     N
   cmdStack:
     ++A00125788A6808C900040000000000
     ##A00125788A6808C90103
     ##A00125788A6808C901040000000001
   helper:
     HM_CMDNR   35
     getCfgList all
     getCfgListNo ,1,4
     mId        00AE
     peerFriend peerAct,peerVirt
     peerOpt    1p:THSensor,4:THSensor,p:THSensor
     regLst     0,1,1p,4p
     rxType     140
     supp_Pair_Rep 0
     cmds:
       TmplKey    :no:1624036299.10761
       TmplTs     1624036299.10761
       cmdKey     1:1:0::Wetterstation:00AE:01:
       cmdLst:
         assignHmKey noArg
         burstXmit  noArg
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         deviceRename -newName-
         fwUpdate   -filename- [-bootTime-]
         getConfig  noArg
         getDevInfo noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerChan   0 -actChn- [({single})] [({set}|unset)] [actor|remote|both]
         peerSmart  -peerOpt-
         raw        -data- [...]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         reset      noArg
         sign       [(on|{off})]
         tplDel     -tplDel-
         trgEventL  -peer- -condition-
         trgEventS  -peer- -condition-
         trgPressL  [(-peer-|{all})]
         trgPressS  [(-peer-|{all})]
         unpair     noArg
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt    Charlotte_Heizungsventil_WindowRec,Charlotte_Heizungsventil_remote,Garten_links,Garten_rechts,Haustuerbeleuchtung,Hochbeet_links,Hochbeet_rechts,Markise,SchalterBeleuchtungVorgarten,Schuppen_Garten
         tplDel     
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        0
       det        0
       raw        1
       tpl        0
     io:
       flgs       0
       newChn     +6808C9,00,00,00
       nextSend   1624190078.68733
       prefIO     
       rxt        0
       vccu       
       p:
         6808C9
         00
         00
         00
     mRssi:
       mNo        23
       io:
         HMLANGW:
           -50
           -50
     peerIDsH:
     prt:
       bErr       0
       sProc      2
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
     rssi:
       at_HMLANGW:
         avg        -57.8969276511397
         cnt        1009
         lst        -56
         max        -53
         min        -62
     tmpl:
Attributes:
   .mId       00AE
   IODev      HMLANGW
   alias      Wetterstation
   appOptions { "template": "thermometer"}
   autoReadReg 4_reqStatus
   expert     rawReg
   firmware   1.6
   group      Wetterstation
   model      HM-WDS100-C6-O-2
   room       Wetter
   serialNr   PEQ0001456
   stateFormat Temperatur: temperature °C, Feuchtigkeit: humidity %, Helligkeit: brightness, Regen: rain mm/qm, Wind: windSpeed km/h,  Richtung: windDirectionText; windDirectionIcon
   subType    THSensor
   userReadings windDirectionText:windDirection:.* {
  UConv::direction2compasspoint(ReadingsVal($name,'windDirection',0));
},
windDirectionIcon:windDirection:.* {
  my $dir = ReadingsVal($name,'windDirection',0);
  UConv::direction2compasspoint((($dir < 180)? $dir+180: $dir-180),3);
}


Statistics finde ich auch noch sehr interessant.
Hast Du Auswertungen, die Du zur Verfügung stellen würdest?

Grüße
Mandel
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: MandelHL am 27 Juni 2021, 12:14:37
Hallo, ich habe länger nichts gehört und gesehen, dass es ein neues Release gibt.
Fehlte von meiner Seite noch etwas an Angaben? Oder lässt sich das gar nicht umsetzen?

Schönen Sonntag
Mandel
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Pusemukel am 10 Juli 2021, 14:35:05
Hallo mal ein frage.

Ich hab in der Doku gesehen das auch Internals abgefragt werden können, wie funktioniert das !?
Zitat}

Zuweisung von Elementen

Damit ein Element auf den Wert eines bestimmten Readings reagieren kann, muss dies entsprechend definiert werden. Jede Zuweisung enthält mindestens ein reading, einen wert und einen bzw. mehrere Parameter.

    reading kann sowohl auf Readings, Attribute als auch Internals eines FHEM-Devices zeigen.
    wert kann strings, zahlen oder regexp enthalten. Für Zahlen gilt reading >= wert
    parameter betrifft das Element selbst, also z.B. das Icon, den Text oder die Farbe. Hinweis: Die Parameter sind je Element definiert und müssen ein der korrekten Reihenfolge angegeben werden. (siehe verfügbare Elemente)

Einfach statt dem "Reading" das Internal angeben funktioniert nicht
Grüsse

Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 10 Juli 2021, 15:55:07
Zitat von: Pusemukel am 10 Juli 2021, 14:35:05
Hallo mal ein frage.

Ich hab in der Doku gesehen das auch Internals abgefragt werden können, wie funktioniert das !?
Einfach statt dem "Reading" das Internal angeben funktioniert nicht
Grüsse

In dem Fall bitte Internals.<Name des Internals> verwenden.
Also z.B. Internals.NAME

Bei Fragen melde dich gern.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Pusemukel am 11 Juli 2021, 21:17:16
Hi,

Jap das hat geholfe, danke  ;).
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: stixif am 07 August 2021, 17:52:32
Hallo,
FHEMapp gefällt mir sehr gut!
ist wirklich ein tolles Projekt mit Potential...

hab schonmal 1 template angepasst für Enocean mit FAM14 (Dimmer FUD14)


{
  "name": "dimmerFAM14",
  "author": "stixif",
  "date": "2021-06-06",
  "status": {
    "bar": ["dim::%n:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["dim:10:dim %i-10","dim::off"],
      "leftLong": ["state::off"],
      "text": ["dim:1:an:","dim::aus"],
      "rightBtn": "mdi-plus",
      "rightClick": ["dim:90:on","dim::dim %i10"],
      "rightLong": ["state::on"]
    }
  ],
  "info": {
    "left1": ["dim:1::mdi-lightbulb","dim:::mdi-lightbulb-off"],
    "left2": ["dim::%s%"]
  }
}




aber nun komm ich beim Rolladen nicht weiter (Enocean FSB14)
Device

defmod EnO_EG_FSB14_30 EnOcean 0000001E
attr EnO_EG_FSB14_30 userattr ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate
attr EnO_EG_FSB14_30 ASC 1
attr EnO_EG_FSB14_30 ASC_Antifreeze off
attr EnO_EG_FSB14_30 ASC_Antifreeze_Pos 85
attr EnO_EG_FSB14_30 ASC_AutoAstroModeEvening HORIZON
attr EnO_EG_FSB14_30 ASC_AutoAstroModeEveningHorizon -4
attr EnO_EG_FSB14_30 ASC_AutoAstroModeMorning HORIZON
attr EnO_EG_FSB14_30 ASC_AutoAstroModeMorningHorizon 4
attr EnO_EG_FSB14_30 ASC_BlockingTime_afterManual 1200
attr EnO_EG_FSB14_30 ASC_BlockingTime_beforDayOpen 3600
attr EnO_EG_FSB14_30 ASC_BlockingTime_beforNightClose 3600
attr EnO_EG_FSB14_30 ASC_Closed_Pos 100
attr EnO_EG_FSB14_30 ASC_ComfortOpen_Pos 20
attr EnO_EG_FSB14_30 ASC_Drive_Delay -1
attr EnO_EG_FSB14_30 ASC_Drive_DelayStart -1
attr EnO_EG_FSB14_30 ASC_GuestRoom none
attr EnO_EG_FSB14_30 ASC_LockOut off
attr EnO_EG_FSB14_30 ASC_LockOut_Cmd none
attr EnO_EG_FSB14_30 ASC_Mode_Down always
attr EnO_EG_FSB14_30 ASC_Mode_Up always
attr EnO_EG_FSB14_30 ASC_Open_Pos 0
attr EnO_EG_FSB14_30 ASC_Partymode off
attr EnO_EG_FSB14_30 ASC_Pos_Reading position
attr EnO_EG_FSB14_30 ASC_PrivacyDownValue_beforeNightClose -1
attr EnO_EG_FSB14_30 ASC_PrivacyDown_Pos 50
attr EnO_EG_FSB14_30 ASC_Roommate_Device none
attr EnO_EG_FSB14_30 ASC_Roommate_Reading state
attr EnO_EG_FSB14_30 ASC_Shading_InOutAzimuth 200:280
attr EnO_EG_FSB14_30 ASC_Shading_MinMax_Elevation 15
attr EnO_EG_FSB14_30 ASC_Shading_Min_OutsideTemperature 22
attr EnO_EG_FSB14_30 ASC_Shading_Mode off
attr EnO_EG_FSB14_30 ASC_Shading_Pos 0
attr EnO_EG_FSB14_30 ASC_Shading_StateChange_SunnyCloudy 4500:3300
attr EnO_EG_FSB14_30 ASC_Shading_WaitingPeriod 1200
attr EnO_EG_FSB14_30 ASC_ShuttersPlace window
attr EnO_EG_FSB14_30 ASC_Time_Down_Early 17:00
attr EnO_EG_FSB14_30 ASC_Time_Down_Late 22:30
attr EnO_EG_FSB14_30 ASC_Time_Up_Early 06:30
attr EnO_EG_FSB14_30 ASC_Time_Up_Late 08:00
attr EnO_EG_FSB14_30 ASC_Time_Up_WE_Holiday 09:00
attr EnO_EG_FSB14_30 ASC_Ventilate_Pos 70
attr EnO_EG_FSB14_30 ASC_Ventilate_Window_Open on
attr EnO_EG_FSB14_30 ASC_WiggleValue 5
attr EnO_EG_FSB14_30 ASC_WindowRec none
attr EnO_EG_FSB14_30 ASC_WindowRec_subType twostate
attr EnO_EG_FSB14_30 DbLogExclude .*
attr EnO_EG_FSB14_30 IODev FAM14
attr EnO_EG_FSB14_30 alias Rollo_EG_Büro
attr EnO_EG_FSB14_30 appOptions {\
  "template": "shutterFAM14",\
  "name": "Büro Rolladen",\
  "room": "Büro", \
  "group": "Rolladen"\
}
attr EnO_EG_FSB14_30 comMode uniDir
attr EnO_EG_FSB14_30 devStateIcon down:fts_shutter_100 open_ack:fts_window_2w 0:fts_window_2w up:fts_window_2w 1\d.*:fts_shutter_90 2\d.*:fts_shutter_80 3\d.*:fts_shutter_70 4\d.*:fts_shutter_60 5\d.*:fts_shutter_50 6\d.*:fts_shutter_40
attr EnO_EG_FSB14_30 eep A5-3F-7F
attr EnO_EG_FSB14_30 event-on-change-reading .*
attr EnO_EG_FSB14_30 group Rolladen
attr EnO_EG_FSB14_30 manufID 00D
attr EnO_EG_FSB14_30 model Eltako_FSB_ACK
attr EnO_EG_FSB14_30 room EnOcean,Erdgeschoss
attr EnO_EG_FSB14_30 settingAccuracy high
attr EnO_EG_FSB14_30 shutTime 18
attr EnO_EG_FSB14_30 shutTimeCloses 22
attr EnO_EG_FSB14_30 stateFormat position
attr EnO_EG_FSB14_30 subDef 0200001E
attr EnO_EG_FSB14_30 subType manufProfile
attr EnO_EG_FSB14_30 teachMethod RPS
attr EnO_EG_FSB14_30 webCmd opens:stop:closes




mein Versuch...

{
  "name": "shutterFAM14",
  "author": "stixif",
  "date": "2021-08-06",
  "status": {
    "bar": ["position:0:100:orange","position:1:%n:yellow","position:100:100:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["position:10:position %i10","position::position"],
      "leftLong": ["state::closes"],
      "leftLongRelease": ["state::stop"],
      "text": ["closes::schließt...","opens::öffnet...","position:100:closed","position:0:open"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["position:10:position %i-10","position::position"],
      "rightLong": ["state::opens"],
      "rightLongRelease": ["state::stop"]
    }
  ],
  "info": {
    "left1": ["up:::mdi-window-shutter-alert","down:::mdi-window-shutter-alert","position:1::mdi-window-shutter-open","position:::mdi-window-shutter"],
    "left2": ["position::%s%"]
  }
}



kann mir hier evtl. jemand weiter helfen?!?

besten dank schonmal
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 08 August 2021, 09:45:22
Zitat von: stixif am 07 August 2021, 17:52:32
Hallo,
FHEMapp gefällt mir sehr gut!
ist wirklich ein tolles Projekt mit Potential...

hab schonmal 1 template angepasst für Enocean mit FAM14 (Dimmer FUD14)


{
  "name": "dimmerFAM14",
  "author": "stixif",
  "date": "2021-06-06",
  "status": {
    "bar": ["dim::%n:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["dim:10:dim %i-10","dim::off"],
      "leftLong": ["state::off"],
      "text": ["dim:1:an:","dim::aus"],
      "rightBtn": "mdi-plus",
      "rightClick": ["dim:90:on","dim::dim %i10"],
      "rightLong": ["state::on"]
    }
  ],
  "info": {
    "left1": ["dim:1::mdi-lightbulb","dim:::mdi-lightbulb-off"],
    "left2": ["dim::%s%"]
  }
}




aber nun komm ich beim Rolladen nicht weiter (Enocean FSB14)
Device

defmod EnO_EG_FSB14_30 EnOcean 0000001E
attr EnO_EG_FSB14_30 userattr ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate
attr EnO_EG_FSB14_30 ASC 1
attr EnO_EG_FSB14_30 ASC_Antifreeze off
attr EnO_EG_FSB14_30 ASC_Antifreeze_Pos 85
attr EnO_EG_FSB14_30 ASC_AutoAstroModeEvening HORIZON
attr EnO_EG_FSB14_30 ASC_AutoAstroModeEveningHorizon -4
attr EnO_EG_FSB14_30 ASC_AutoAstroModeMorning HORIZON
attr EnO_EG_FSB14_30 ASC_AutoAstroModeMorningHorizon 4
attr EnO_EG_FSB14_30 ASC_BlockingTime_afterManual 1200
attr EnO_EG_FSB14_30 ASC_BlockingTime_beforDayOpen 3600
attr EnO_EG_FSB14_30 ASC_BlockingTime_beforNightClose 3600
attr EnO_EG_FSB14_30 ASC_Closed_Pos 100
attr EnO_EG_FSB14_30 ASC_ComfortOpen_Pos 20
attr EnO_EG_FSB14_30 ASC_Drive_Delay -1
attr EnO_EG_FSB14_30 ASC_Drive_DelayStart -1
attr EnO_EG_FSB14_30 ASC_GuestRoom none
attr EnO_EG_FSB14_30 ASC_LockOut off
attr EnO_EG_FSB14_30 ASC_LockOut_Cmd none
attr EnO_EG_FSB14_30 ASC_Mode_Down always
attr EnO_EG_FSB14_30 ASC_Mode_Up always
attr EnO_EG_FSB14_30 ASC_Open_Pos 0
attr EnO_EG_FSB14_30 ASC_Partymode off
attr EnO_EG_FSB14_30 ASC_Pos_Reading position
attr EnO_EG_FSB14_30 ASC_PrivacyDownValue_beforeNightClose -1
attr EnO_EG_FSB14_30 ASC_PrivacyDown_Pos 50
attr EnO_EG_FSB14_30 ASC_Roommate_Device none
attr EnO_EG_FSB14_30 ASC_Roommate_Reading state
attr EnO_EG_FSB14_30 ASC_Shading_InOutAzimuth 200:280
attr EnO_EG_FSB14_30 ASC_Shading_MinMax_Elevation 15
attr EnO_EG_FSB14_30 ASC_Shading_Min_OutsideTemperature 22
attr EnO_EG_FSB14_30 ASC_Shading_Mode off
attr EnO_EG_FSB14_30 ASC_Shading_Pos 0
attr EnO_EG_FSB14_30 ASC_Shading_StateChange_SunnyCloudy 4500:3300
attr EnO_EG_FSB14_30 ASC_Shading_WaitingPeriod 1200
attr EnO_EG_FSB14_30 ASC_ShuttersPlace window
attr EnO_EG_FSB14_30 ASC_Time_Down_Early 17:00
attr EnO_EG_FSB14_30 ASC_Time_Down_Late 22:30
attr EnO_EG_FSB14_30 ASC_Time_Up_Early 06:30
attr EnO_EG_FSB14_30 ASC_Time_Up_Late 08:00
attr EnO_EG_FSB14_30 ASC_Time_Up_WE_Holiday 09:00
attr EnO_EG_FSB14_30 ASC_Ventilate_Pos 70
attr EnO_EG_FSB14_30 ASC_Ventilate_Window_Open on
attr EnO_EG_FSB14_30 ASC_WiggleValue 5
attr EnO_EG_FSB14_30 ASC_WindowRec none
attr EnO_EG_FSB14_30 ASC_WindowRec_subType twostate
attr EnO_EG_FSB14_30 DbLogExclude .*
attr EnO_EG_FSB14_30 IODev FAM14
attr EnO_EG_FSB14_30 alias Rollo_EG_Büro
attr EnO_EG_FSB14_30 appOptions {\
  "template": "shutterFAM14",\
  "name": "Büro Rolladen",\
  "room": "Büro", \
  "group": "Rolladen"\
}
attr EnO_EG_FSB14_30 comMode uniDir
attr EnO_EG_FSB14_30 devStateIcon down:fts_shutter_100 open_ack:fts_window_2w 0:fts_window_2w up:fts_window_2w 1\d.*:fts_shutter_90 2\d.*:fts_shutter_80 3\d.*:fts_shutter_70 4\d.*:fts_shutter_60 5\d.*:fts_shutter_50 6\d.*:fts_shutter_40
attr EnO_EG_FSB14_30 eep A5-3F-7F
attr EnO_EG_FSB14_30 event-on-change-reading .*
attr EnO_EG_FSB14_30 group Rolladen
attr EnO_EG_FSB14_30 manufID 00D
attr EnO_EG_FSB14_30 model Eltako_FSB_ACK
attr EnO_EG_FSB14_30 room EnOcean,Erdgeschoss
attr EnO_EG_FSB14_30 settingAccuracy high
attr EnO_EG_FSB14_30 shutTime 18
attr EnO_EG_FSB14_30 shutTimeCloses 22
attr EnO_EG_FSB14_30 stateFormat position
attr EnO_EG_FSB14_30 subDef 0200001E
attr EnO_EG_FSB14_30 subType manufProfile
attr EnO_EG_FSB14_30 teachMethod RPS
attr EnO_EG_FSB14_30 webCmd opens:stop:closes




mein Versuch...

{
  "name": "shutterFAM14",
  "author": "stixif",
  "date": "2021-08-06",
  "status": {
    "bar": ["position:0:100:orange","position:1:%n:yellow","position:100:100:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["position:10:position %i10","position::position"],
      "leftLong": ["state::closes"],
      "leftLongRelease": ["state::stop"],
      "text": ["closes::schließt...","opens::öffnet...","position:100:closed","position:0:open"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["position:10:position %i-10","position::position"],
      "rightLong": ["state::opens"],
      "rightLongRelease": ["state::stop"]
    }
  ],
  "info": {
    "left1": ["up:::mdi-window-shutter-alert","down:::mdi-window-shutter-alert","position:1::mdi-window-shutter-open","position:::mdi-window-shutter"],
    "left2": ["position::%s%"]
  }
}



kann mir hier evtl. jemand weiter helfen?!?

besten dank schonmal

Hallo,

vielen Dank für dein Feedback. :)
Deine Konfiguration für den Rollladen sieht soweit erstmal korrekt aus. Außer bei leftClick bin ich mir nicht sicher ob das passt. Hier hast du definiert, dass ab einem Wert von 10 bei jedem Click um 10 erhöht wird. Damit würden deine Werte auch über 100 steigen. Deshalb solltest du beim erhöhen von Werten immer zuerst mit der Definition des höchsten Wertes beginnen. Also was passieren soll, wenn der aktuelle Wert >= 90 ist.

Ansonsten lass mich bitte mal nicht wissen, wo genau du jetzt nicht weiter kommst.

PS.: falls dein Rollladen nicht auf Clicks reagiert, ist es übrigens hilfreich mal einen Set Befehl als Beispiel mit zu posten, der zeigt wie der Aktor korrekt angesteuert wird. Lass mich bitte auch mal noch wissen, ob für den Rollladen die aktuellen Statuswerte in der Statusbar und unten in der Infoleiste schon korrekt angezeigt werden.

Beste Grüße
Jens
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: stixif am 08 August 2021, 12:39:46
Hi jemu75,

manchmal steht man einfach aufm schlauch :)
(danke fürs runterschubsen)


{
  "name": "shutter_FSB14",
  "author": "stixif",
  "date": "2021-08-06",
  "status": {
    "bar": ["position:100:100:success","position:1:%n:yellow","position:0:100:orange"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["position:0:position %i10","position::position"],
      "leftLong": ["state::closes"],
      "leftLongRelease": ["state::closes"],
      "midBtn": "mdi-pause",
      "midClick": ["state::stop"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["position:1:position %i-10","position::position"],
      "rightLong": ["state::opens"],
      "rightLongRelease": ["state::opens"]
    }
  ],
  "info": {
    "left1": ["state:up::mdi-window-shutter-alert","state:down::mdi-window-shutter-alert","position:1::mdi-window-shutter-open","position:::mdi-window-shutter"],
    "left2": ["position::%s%"],
    "mid1": ["state:up:öffnet...","state:down:schliesst...","position:0:offen","position:1:%s %","position:100:geschlossen"]
  }
}


so schaut das ganz nun angenehm aus und funktioniert!
in der mitte hab ich nun die Pause taste eingebaut...

somit wären die Lichter + Rollos schon Visualisiert ;)
häng mich nun mal an Lüftung und Heizung
oder hat hier schon wer eine Vorlage erstellt?
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 08 August 2021, 13:13:23
Zitat von: stixif am 08 August 2021, 12:39:46
Hi jemu75,

manchmal steht man einfach aufm schlauch :)
(danke fürs runterschubsen)


{
  "name": "shutter_FSB14",
  "author": "stixif",
  "date": "2021-08-06",
  "status": {
    "bar": ["position:100:100:success","position:1:%n:yellow","position:0:100:orange"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["position:0:position %i10","position::position"],
      "leftLong": ["state::closes"],
      "leftLongRelease": ["state::closes"],
      "midBtn": "mdi-pause",
      "midClick": ["state::stop"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["position:1:position %i-10","position::position"],
      "rightLong": ["state::opens"],
      "rightLongRelease": ["state::opens"]
    }
  ],
  "info": {
    "left1": ["state:up::mdi-window-shutter-alert","state:down::mdi-window-shutter-alert","position:1::mdi-window-shutter-open","position:::mdi-window-shutter"],
    "left2": ["position::%s%"],
    "mid1": ["state:up:öffnet...","state:down:schliesst...","position:0:offen","position:1:%s %","position:100:geschlossen"]
  }
}


so schaut das ganz nun angenehm aus und funktioniert!
in der mitte hab ich nun die Pause taste eingebaut...

somit wären die Lichter + Rollos schon Visualisiert ;)
häng mich nun mal an Lüftung und Heizung
oder hat hier schon wer eine Vorlage erstellt?

Prima, wenn ich helfen konnte. Ich hänge dir als Beispiel trotzdem mal noch eine Konfiguration meiner Dimmer an. Diese werden auch um jeweils 10% nach oben bzw. unten verändert. Wichtig ist, dass du beim verringern nicht unter 0% und beim erhöhen nicht über 100% kommst. (auch wenn FHEM) hier tolerant reagiert.

Ich würde dir also empfehlen, die Definition von leftClick und rightClick noch anzupassen.


"main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["pct:10:pct %i-10","pct::off"],
      "leftLong": ["state::off"],
      "text": ["pct:1:an:","pct::aus"],
      "rightBtn": "mdi-plus",
      "rightClick": ["pct:90:on","pct::pct %i10"],
      "rightLong": ["state::on"]
    }
  ],


Für Heizung kannst du ebenfalls mal in der Doku auf Github stöbern. Zum Thema Lüftung habe bisher noch nichts hier gelesen. Aber du kannst ja gern ein Template konfigurieren und dich bei Fragen hier melden.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: stixif am 08 August 2021, 15:24:54
Hi Jens,

Danke...
ich meine nun hab ichs verstanden...

{
  "name": "shutter_FSB14",
  "author": "stixif",
  "date": "2021-08-06",
  "status": {
    "bar": ["position:100:100:success","position:1:%n:yellow","position:0:100:orange"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["position:90:position 100","position::position %i10"],
      "leftLong": ["state::closes"],
      "leftLongRelease": ["state::closes"],
      "midBtn": "mdi-pause",
      "midClick": ["state::stop"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["position::position %i-10","position:10:opens"],
      "rightLong": ["state::opens"],
      "rightLongRelease": ["state::opens"]
    }
  ],
  "info": {
    "left1": ["state:up::mdi-window-shutter-alert","state:down::mdi-window-shutter-alert","position:1::mdi-window-shutter-open","position:::mdi-window-shutter"],
    "left2": ["position::%s%"],
    "mid1": ["state:up:öffnet...","state:down:schliesst...","position:0:offen","position:1:%s %","position:100:geschlossen"]
  }
}


ist es irgend wie möglich das stateFormat eines Devices aus zu geben wie es in FHEM hinterlegt ist?
(mehrere readings eines Devices als Text ausgeben)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 18 August 2021, 21:50:05
Zitat von: stixif am 08 August 2021, 15:24:54
Hi Jens,

Danke...
ich meine nun hab ichs verstanden...

{
  "name": "shutter_FSB14",
  "author": "stixif",
  "date": "2021-08-06",
  "status": {
    "bar": ["position:100:100:success","position:1:%n:yellow","position:0:100:orange"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-chevron-down",
      "leftClick": ["position:90:position 100","position::position %i10"],
      "leftLong": ["state::closes"],
      "leftLongRelease": ["state::closes"],
      "midBtn": "mdi-pause",
      "midClick": ["state::stop"],
      "rightBtn": "mdi-chevron-up",
      "rightClick": ["position::position %i-10","position:10:opens"],
      "rightLong": ["state::opens"],
      "rightLongRelease": ["state::opens"]
    }
  ],
  "info": {
    "left1": ["state:up::mdi-window-shutter-alert","state:down::mdi-window-shutter-alert","position:1::mdi-window-shutter-open","position:::mdi-window-shutter"],
    "left2": ["position::%s%"],
    "mid1": ["state:up:öffnet...","state:down:schliesst...","position:0:offen","position:1:%s %","position:100:geschlossen"]
  }
}


ist es irgend wie möglich das stateFormat eines Devices aus zu geben wie es in FHEM hinterlegt ist?
(mehrere readings eines Devices als Text ausgeben)

Hallo,

sorry für die verzögerte Rückmeldung. Mit stateFormat habe ich längere Zeit nicht mehr gearbeitet. Spontan würde ich sagen, dass der von FHEM formatierte Ausdruck nicht "abgreifbar" ist. Was genau möchtest du gern in FHEMApp anzeigen? Ich schau dann mal, wie man das lösen kann.

Deine o.g. Definition hat meiner Meinung nach noch ein paar "Unstimmigkeiten". Das ist nicht weiter dramatisch, wenn es bei Dir wie gewünscht funktioniert. Trotzdem folgender Hinweis die Events "...Long" und "...LongRelease" sollten nicht die gleichen Befehle enthalten. Das eine Event (...Long) wird bei längerem Drücken der Taste (nach ca. 1Sek.) ausgelöst. Das andere Event (...LongRelease) wird beim loslassen der Taste ausgelöst, wenn sie zuvor länger gedrückt wurde. Bei Dir wird also der FHEM Befehl "opens" bzw. "closes" dann doppelt abgesendet. Einmal nach ca. 1 Sekunde, wenn die Taste lange gedrückt wird und dann nochmal wenn du die Taste nach längerem Drücken wieder loslässt.

Warum habe ich diese unterschiedlichen Events (...Click, ...Long, ...LongRelease) zur Verfügung gestellt? In der Tat macht das für Jalousien am meisten Sinn. Ich habe mich hier an dem Verhalten meiner Homematic Aktoren orientiert. Diese reagieren wie folgt:
kurzes antippen der Taste =  Motor läuft bis zur Endstellung (Jalousie wird also komplett geöffnet bzw. geschlossen)
erneutes kurzes antippen der Taste = Motor wird gestoppt falls er läuft
langes Drücken der Taste = Motor wird nach ca. 1Sek. gestartet
loslassen nach langem Drücken der Taste = Motor wird gestoppt
Wenn ich die Jalousie komplett öffnen bzw. schließen möchte, dann tippe ich die betreffende Taste einfach kurz an.
Wenn ich die Jalousie in eine bestimmte Position bringe möchte, dann halte ich die beteffende Taste solange gedrückt, bis die Position erreicht ist.

Am Beispiel sieht das dann bei einem Homematic Jalousie Aktor wie folgt aus:

{
      "leftClick": ["motor:stop:off","motor::stop"],
      "leftLong": ["motor::off"],
      "leftLongRelease": ["motor::stop"],

      "rightClick": ["motor:stop:on","motor::stop"],
      "rightLong": ["motor::on"],
      "rightLongRelease": ["motor::stop"]
}

Ich prüfe also über das Reading "motor" was der Motor gerade macht und sende dann entweder den Befehl "stop" oder je nach Taste den Befehl "on" (auf) oder "off" (zu).
Man kann das ganze auch über die Befehle "position" oder "pct" lösen, so wie du das gemacht hast. Letztlich so, wie es jedem am besten passt :)
Titel: [gelöst] keine Werte für ein FileLog für eine KS300
Beitrag von: Dr. Boris Neubert am 05 September 2021, 13:53:10
Hallo,

ich habe eine KS300-Wetterstation (Device KS300), die in das FileLog FileLog_KS300 loggt:

2021-09-05_10:51:20 KS300 T: 21.8  H: 63  W: 0.0  R: 454.4  IR: no  Wi: 0 D: 14.4

An der KS300 habe ich die appOptions

{ "template": "chart",   "chartDef": ["FileLog_KS300:(4:temperature):Temperatur:°C"],   "setup": { "daysAgo":3 } }

gesetzt. Im Chart wird aber nichts angezeigt und beim Drüberfahren mit der Maus kommt undefined NaN ....

Wie muss ich das anders machen, damit es funktioniert?

Viele Grüße
Boris
Titel: [gelöst] Template für Weather konfigurieren
Beitrag von: Dr. Boris Neubert am 05 September 2021, 13:56:02
Hallo,

mit ist aufgefallen, dass im Github das Template weather nicht beschrieben ist. Die Beispieldarstellung des Wdigets im Bild wird jedoch mit den Default-Werten nicht angezeigt sondern nur "Leicht bewölkt". Wie muss das Template denn bitte konfiguriert werden?

Viele Grüße
Boris
Titel: Antw:keine Werte für ein FileLog für eine KS300
Beitrag von: jemu75 am 05 September 2021, 14:59:28
Zitat von: Dr. Boris Neubert am 05 September 2021, 13:53:10
Hallo,

ich habe eine KS300-Wetterstation (Device KS300), die in das FileLog FileLog_KS300 loggt:

2021-09-05_10:51:20 KS300 T: 21.8  H: 63  W: 0.0  R: 454.4  IR: no  Wi: 0 D: 14.4

An der KS300 habe ich die appOptions

{ "template": "chart",   "chartDef": ["FileLog_KS300:(4:temperature):Temperatur:°C"],   "setup": { "daysAgo":3 } }

gesetzt. Im Chart wird aber nichts angezeigt und beim Drüberfahren mit der Maus kommt undefined NaN ....

Wie muss ich das anders machen, damit es funktioniert?

Viele Grüße
Boris

Hallo Boris,

ich nutze zum Abrufen der Log-Daten den Fhem Befehl get
Probiere bitte mal mit get den gewünschten Temperaturwert direkt in FHEM mit get abzurufen. Ich könnte mir vorstellen, dass es an dem Filter temperature liegt. Dieser Text kommt in deinem Beispiel nicht vor.
Melde dich gern nochmal, wenn du nicht weiter kommst.

Beste Grüße
Jens  :)
Titel: Antw:Template für Weather konfigurieren
Beitrag von: jemu75 am 05 September 2021, 15:06:25
Zitat von: Dr. Boris Neubert am 05 September 2021, 13:56:02
Hallo,

mit ist aufgefallen, dass im Github das Template weather nicht beschrieben ist. Die Beispieldarstellung des Wdigets im Bild wird jedoch mit den Default-Werten nicht angezeigt sondern nur "Leicht bewölkt". Wie muss das Template denn bitte konfiguriert werden?

Viele Grüße
Boris

Bei Einsatz von darksky oder proplanta musst du im betreffenden Fhem-Device unter appOptions nur
{ "template": "weather" }
definieren. Danach sollte das Device in FHEMApp zu sehen sein. Ich muss das mal mit in der Doku ergänzen.

Beste Grüße
Jens  :)
Titel: Antw:Template für Weather konfigurieren
Beitrag von: Dr. Boris Neubert am 05 September 2021, 16:33:23
Danke, Jens, ich habe mich nicht klar ausgedrückt: ich habe das Template schon in den appOptions aber es erscheint keine Liste mit Vorhersage sondern nur der Text "leicht bewölkt" im Widget. Hier die Definition meines Weather-Device:

define Wetter Weather apikey=versteckt interval=1800 lang=de
attr Wetter appOptions { "template": "weather" }
attr Wetter room Wetter
Titel: Antw:keine Werte für ein FileLog für eine KS300
Beitrag von: Dr. Boris Neubert am 05 September 2021, 16:40:15
Zitat von: jemu75 am 05 September 2021, 14:59:28
ich nutze zum Abrufen der Log-Daten den Fhem Befehl get
Probiere bitte mal mit get den gewünschten Temperaturwert direkt in FHEM mit get abzurufen. Ich könnte mir vorstellen, dass es an dem Filter temperature liegt. Dieser Text kommt in deinem Beispiel nicht vor.

Ach so, der Wert in Klammern ist die <column_spec> aus dem Get vom FileLog. Das hat sich mir beim Lesen nicht erschlossen.

Damit sind dann auch schon weitere Fragen geklärt, z.B. wie man den stündlichen Regen anzeigen lässt.

Danke. Es funktioniert.
Titel: Antw:Template für Weather konfigurieren
Beitrag von: LuGu am 06 September 2021, 07:48:46
Das Widget kann man ausklappen (rechts oben), dann gibt es mehr Infos (siehe Beispiel).
Titel: Antw:Template für Weather konfigurieren
Beitrag von: Dr. Boris Neubert am 06 September 2021, 09:05:04
Zitat von: LuGu am 06 September 2021, 07:48:46
Das Widget kann man ausklappen (rechts oben), dann gibt es mehr Infos (siehe Beispiel).

Oh Mann, das war jetzt zu einfach  :-[

Danke fürs Draufstoßen.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: fretti am 16 September 2021, 09:14:34
Hallo,

ich habe eine dimmbares HUEDevice von IKEA. Das dimmen funktioniert auch soweit, allerdings möchte ich bei einem Longklick auf den rechten Button die volle Helligkeit haben.
Aber das will nicht!?
{ "template": "dimmer",
"main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["pct:10:pct %i-10","pct::0"],
      "leftLong": ["state::off"],
      "text": ["onoff:1:an:","onoff:0:aus"],
      "rightBtn": "mdi-plus",
      "rightClick": ["pct:90:100","pct::pct %i10"],
      "rightLong": ["pct::100"]
    }
  ]
}


oder ist das nicht so möglich?
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 16 September 2021, 13:41:50
Zitat von: fretti am 16 September 2021, 09:14:34
Hallo,

ich habe eine dimmbares HUEDevice von IKEA. Das dimmen funktioniert auch soweit, allerdings möchte ich bei einem Longklick auf den rechten Button die volle Helligkeit haben.
Aber das will nicht!?
{ "template": "dimmer",
"main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["pct:10:pct %i-10","pct::0"],
      "leftLong": ["state::off"],
      "text": ["onoff:1:an:","onoff:0:aus"],
      "rightBtn": "mdi-plus",
      "rightClick": ["pct:90:100","pct::pct %i10"],
      "rightLong": ["pct::100"]
    }
  ]
}


oder ist das nicht so möglich?

Probiere es bitte mal mit

["state::on"]
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 16 September 2021, 15:06:18
Hallo,

Zitat von: fretti am 16 September 2021, 09:14:34
{ "template": "dimmer",
"main": [
...}


im templ_dimmer.json ist

      ...
      "rightLong": ["state::on"]
      ...


Ich habe das Template so für Ikea-Tradfri-Lampen verwendet. Nur der Klick auf den Text an/aus geht nicht.

Kann man aus dem main-Abschnitt nur einzelne Attribute in den appOptions am FHEM-Device überschreiben oder muss man die gesamte main-Sektion wiederholen?

Ist vorgesehen, von Benutzer erstellte Templates einzusammeln? Dann sollten wir uns Gedanken über Namenskonventionen machen (es gibt ja schon Dimmer und Dimmer2).

Überschreiben von templ_dimmer.json kommt nicht in Frage, weil ich dann nicht einfach mehr Updates machen kann.

Grüße
Boris
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: fretti am 16 September 2021, 16:11:24
Zitat von: jemu75 am 16 September 2021, 13:41:50
Probiere es bitte mal mit

["state::on"]


Bei Verwendung von state::on schaltet die Lampe in der letzten eingestellten Helligkeit ein, deshalb meine Idee über pct auf volle Helligkeit zu gehen.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 16 September 2021, 18:00:32
Zitat von: fretti am 16 September 2021, 16:11:24
Bei Verwendung von state::on schaltet die Lampe in der letzten eingestellten Helligkeit ein, deshalb meine Idee über pct auf volle Helligkeit zu gehen.

Verstehe.  Ich probiere mal mit...

Habe ein Template templ_dimmer3.json erstellt und der dimmbaren Tradfri-Lampe zugewiesen:
{
  "name": "dimmer3",
  "author": "borisneubert",
  "date": "2021-09-16",
  "status": {
    "bar": ["pct::%n:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["pct:10:pct %i-10","pct::off"],
      "leftLong": ["state::off"],
      "text": ["pct:1:an:","pct::aus"],
      "midClick": ["state::toggle"],
      "rightBtn": "mdi-plus",
      "rightClick": ["pct:90:on","pct::pct %i10"],
      "rightLong": ["pct::100"]
    }
  ],
  "info": {
    "left1": ["pct:1::mdi-lightbulb","pct:::mdi-lightbulb-off"],
    "left2": ["pct::%s%"]
  }
}


Bei rightLong komme ich nach Lesen der Doku auf die gleiche Lösung wie fretti. Ich will außerdem togglen, wenn ich die mittlere Taste (an/aus) klicke. Beides funktioniert nicht.

Wie kann man sehen/debuggen, welche Kommandos fhemApp absetzt?

Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 16 September 2021, 21:00:04
Zitat von: Dr. Boris Neubert am 16 September 2021, 18:00:32
Verstehe.  Ich probiere mal mit...

Habe ein Template templ_dimmer3.json erstellt und der dimmbaren Tradfri-Lampe zugewiesen:
{
  "name": "dimmer3",
  "author": "borisneubert",
  "date": "2021-09-16",
  "status": {
    "bar": ["pct::%n:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["pct:10:pct %i-10","pct::off"],
      "leftLong": ["state::off"],
      "text": ["pct:1:an:","pct::aus"],
      "midClick": ["state::toggle"],
      "rightBtn": "mdi-plus",
      "rightClick": ["pct:90:on","pct::pct %i10"],
      "rightLong": ["pct::100"]
    }
  ],
  "info": {
    "left1": ["pct:1::mdi-lightbulb","pct:::mdi-lightbulb-off"],
    "left2": ["pct::%s%"]
  }
}


Bei rightLong komme ich nach Lesen der Doku auf die gleiche Lösung wie fretti. Ich will außerdem togglen, wenn ich die mittlere Taste (an/aus) klicke. Beides funktioniert nicht.

Wie kann man sehen/debuggen, welche Kommandos fhemApp absetzt?

Den Debug-Modus kannst du in der config.json über den Parameter "debugMode": true aktivieren.
siehe auch: https://github.com/jemu75/fhemApp#debug-modus-f%C3%BCr-fhemapp-optional (https://github.com/jemu75/fhemApp#debug-modus-f%C3%BCr-fhemapp-optional)

Unabhängig von dem Debug-Mode kann man das Systemprotokoll über http://<meine_ip>:<port>/fhem/fhemapp/index.html#/syslog aufrufen und sehen, welche Befehle gesendet werden.

Die Befehle, die beim Betätigen der Button erzeugt werden sehen immer wie folgt aus: set <device> <definition>
Die Definition ist das, was du nach dem zweiten Doppelpunkt angibst. Wenn dort also 100 steht dann sieht der set-Befehl wie folgt aus: set device_xyz 100
Das dürfte im konkreten Fall nicht funktionieren, da der Befehl sicher set device_xyz pct 100 lauten muss.

Also sollte die Klick-Definition wie folgt aussehen:

"rightLong": ["pct::pct 100"]

Übrigens, die Definition beinhaltet folgende 3 Blöcke ["<reading welches geprüft werden soll>:<bedingung die erfüllt sein muss>:<set befehl der ausgeführt wird, wenn die Bedingung erfüllt ist>"]
Wenn also zwischen dem ersten Doppelpunkt und dem zweiten Doppelpunkt nichts definiert ist, kannst du im ersten Block faktisch jedes beliebige Reading reinschreiben.
Bitte hier gern auch mal die Doku ansehen - siehe https://github.com/jemu75/fhemApp#zuweisung-von-elementen (https://github.com/jemu75/fhemApp#zuweisung-von-elementen)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 17 September 2021, 17:40:01
Vielen Dank, Jens, für die ausführliche Antwort!

Ich hatte die Doku vorher gelesen, sogar so verstanden, wie Du es nochmal erläutert hast, und dann doch falsch umgesetzt.

Zitat von: jemu75 am 16 September 2021, 21:00:04
Also sollte die Klick-Definition wie folgt aussehen:

"rightLong": ["pct::pct 100"]


Habe dazu jetzt so umgesetzt und es funktioniert damit. @fretti, Deine Aufgabe sollte damit dann genauso erledigt sein, nicht wahr?

Ich habe dann auch gleich selbst kapiert, dass ich auf Texte nicht klicken kann und statt eines Textes eines midBtn eingesetzt, um die Lampe zu toggeln. Folgendes Template funktioniert nun für mich wie gewollt:

{
  "name": "dimmer3",
  "description": "HUEDevice dimmer",
  "author": "borisneubert",
  "date": "2021-09-17",
  "status": {
    "bar": ["pct::%n:success"],
    "error": []
  },
  "main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["pct:10:pct %i-10","pct::off"],
      "leftLong": ["state::off"],
      "midBtn": ["onoff:1:mdi-lightbulb-on","onoff:0:mdi-lightbulb-off-outline"],
      "midClick": ["state::toggle"],
      "rightBtn": "mdi-plus",
      "rightClick": ["pct:90:on","pct::pct %i10"],
      "rightLong": ["pct::pct 100"]
    }
  ],
  "info": {
    "left1": ["pct:1::mdi-lightbulb","pct:::mdi-lightbulb-off"],
    "left2": ["pct::%s%"]
  }
}


Was ich nicht in der Doku gefunden habe aber durch Ausprobieren und Nachdenken ist wie man die Icons benennt. Man muss nämlich dem Namen des Icons von der Seite https://materialdesignicons.com/ (https://materialdesignicons.com/), der sich bei Mouse-Over zeigt, ein mdi- voranstellen.

Ich gebe für Hilfe immer gerne auch was zurück. Nimmst du Pull-Requests auf Github an?

Viele Grüße
Boris
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 20 September 2021, 19:01:11
Gehe ich recht in der Annahme, dass bei Angabe mehrerer Bedingungen z.B. für main.text ALLE Bedingungen geprüft werden?

Wäre es nicht für praktisch alle Anwendungsfälle sinnvoller, wenn die Prüfung nach dem ersten Match abbricht?

Beispiel:

     
"text": ["state:set_open:öffnet...",
           "state:set_close:schließt...",
           "Shutter1_Position:100:offen",
           "Shutter1_Position:1:teils offen",
           "Shutter1_Position::geschlossen"
         ]


Das ist für Tasmota-Rollladen. Wenn der Rollladen runter fährt, wird state auf set_close gesetzt und Shutter1_Position läuft runter. Daher erscheint kurz "schließt..." und dann "teils offen", bis der Rolladen ganz zu ist und "geschlossen" angezeigt wird.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 20 September 2021, 21:11:16
Zitat von: Dr. Boris Neubert am 20 September 2021, 19:01:11
Gehe ich recht in der Annahme, dass bei Angabe mehrerer Bedingungen z.B. für main.text ALLE Bedingungen geprüft werden?

Wäre es nicht für praktisch alle Anwendungsfälle sinnvoller, wenn die Prüfung nach dem ersten Match abbricht?

Beispiel:

     
"text": ["state:set_open:öffnet...",
           "state:set_close:schließt...",
           "Shutter1_Position:100:offen",
           "Shutter1_Position:1:teils offen",
           "Shutter1_Position::geschlossen"
         ]


Das ist für Tasmota-Rollladen. Wenn der Rollladen runter fährt, wird state auf set_close gesetzt und Shutter1_Position läuft runter. Daher erscheint kurz "schließt..." und dann "teils offen", bis der Rolladen ganz zu ist und "geschlossen" angezeigt wird.

Hallo,

die Bedingungen werden von links nach rechts geprüft. Sobald die erste Bedingung zutrifft, wird die Prüfung beendet. Deshalb ist es wichtig, die Bedingungen ist der richtigen Reihenfolge zu definieren.

PS.: zu deiner Frage bzgl. pullrequest auf github. Wir haben bisher alle Anforderungen hier über das Forum eingesteuert, da es so auch User lesen, die mit github nicht so vertraut sind.

Beste Grüße
Jens  :)
Titel: Antw:Featurewünsche
Beitrag von: Jamo am 21 September 2021, 00:15:32
Hallo Boris,
eine weitere Möglichkeit, über einen Klick auf den Text in der Mitte eine Aktion auszulösen, ist das midMenu.
Beispiel Radio programm

"leftBtn": "mdi-minus",
"leftClick": ["Vol::VolDn 1"],
"leftLong": ["playStatus:Play:Mute 1"],
"midBtn": "mdi-dots-vertical",
"text": ["StationRdbl::%s"],
"midMenu": ["1 Live:Station 1_Live","RTL 89.0:Station 89_0","Absolut Hot:Station AbsHOT","WDR 2:Station WDR2","WDR 5:Station WDR5"],
"rightBtn": "mdi-plus",
"rightClick": ["Vol::VolUp 1"],
"rightLong": ["playStatus:Mute:Mute 0"]
},

Ein Nachteil ist das der Anzeigetext nicht skaliert, ich glaube es werden 8 Buchstaben gezeigt. Deswegen habe ich die Radiosender im Reading ''StationRdbl'' auf 8 Buchstaben gekürzt, und und z.B. 89_0 durch 89,0 ersetzt. Im midMenu sind die Klartextnamen des Menues, und rechts vom ":" die Aktion.
Titel: Antw:Antw:Featurewünsche
Beitrag von: Dr. Boris Neubert am 21 September 2021, 07:56:25
Zitat von: Jamo am 21 September 2021, 00:15:32


"leftBtn": "mdi-minus",
"leftClick": ["Vol::VolDn 1"],
"leftLong": ["playStatus:Play:Mute 1"],
"midBtn": "mdi-dots-vertical",
"text": ["StationRdbl::%s"],
"midMenu": ["1 Live:Station 1_Live","RTL 89.0:Station 89_0","Absolut Hot:Station AbsHOT","WDR 2:Station WDR2","WDR 5:Station WDR5"],
"rightBtn": "mdi-plus",
"rightClick": ["Vol::VolUp 1"],
"rightLong": ["playStatus:Mute:Mute 0"]
},


Ich sehe, dass Du einen Text und einen midBtn hast. Wenn ich einen midBtn angegeben habe, erschien bei mir der Text nicht mehr. Habe ich da was falsch gemacht?
Titel: Antw:Antw:Featurewünsche
Beitrag von: Jamo am 21 September 2021, 09:25:46
Hallo Boris,
ist denn das reading fuer den "text" definiert?
Wenn ich bei mir den midBtn weglasse, wird der "text" hell, aber es erscheint kein Menue mehr beim klicken auf den Text.
Mit midBtn wird der "text" leicht grau, und ich kann auf den Text klicken, es erscheint das Menu.

Hier das release, ab der das funktioniert: https://forum.fhem.de/index.php/topic,120911.msg1158359.html#msg1158359

Hier hat Jens damals beschrieben wie es funktioniert und angewendet wird.
https://forum.fhem.de/index.php/topic,120913.msg1158424.html#msg1158424

Titel: Antw:Antw:Featurewünsche
Beitrag von: Dr. Boris Neubert am 21 September 2021, 11:18:40
Hallo Jamo,

Zitat von: Jamo am 21 September 2021, 09:25:46
ist denn das reading fuer den "text" definiert?
Wenn ich bei mir den midBtn weglasse, wird der "text" hell, aber es erscheint kein Menue mehr beim klicken auf den Text.
Mit midBtn wird der "text" leicht grau, und ich kann auf den Text klicken, es erscheint das Menu.

ich habe die aktuelle Version von fhemApp installiert. Hier mein Template zur Erläuterung:

{
  "name": "shutter3",
  "author": "borisneubert",
  "description": "Tasmota-based shutters",
  "date": "2021-09-20",
  "status": {
    "bar": ["Shutter1_Position::%n:success:invert"],
    "error": []
  },
  "main": [
    {
      "leftBtn": ["pct:1:mdi-chevron-down","pct::mdi-chevron-down:disabled"],
      "leftClick": ["state:set_close:stop","pct:1:close","pct::"],
      "text": ["state:set_open:öffnet...","state:set_close:schließt...","state:1:offen","state::geschlossen"],
      "rightBtn": ["Shutter1_Position:100:mdi-chevron-up:disabled","Shutter1_Position::mdi-chevron-up"],
      "rightClick": ["Shutter1_Position:100:","state:set_open:stop","state::open"]
    }
  ],
  "info": {
    "left1": ["state:set_.*::mdi-window-shutter-alert","pct:1::mdi-window-shutter-open","pct:::mdi-window-shutter"],
    "left2": ["Shutter1_Position::%s%"]
  }
}


Bei mir läuft erst einmal obiges Template und der Text wird entsprechend angezeigt. Auch wenn ich

       "midClick": ["state::stop"],


unter main hinzufüge, ist das mittlere Feld nicht klickbar. Erst wenn ich auch noch

      "midBtn": "mdi-dots-vertical",

unter main hinzufüge, wird das mittlere Feld klickbar und ich kann die Rollladenfahrt damit stoppen. Jedoch sehe ich dann statt des Texts nur das Icon (egal welches Icon). Auch mit einer leeren midBtn-Definition "[state::]" kommt kein Text.

Viele Grüße
Boris

(ich trenne das hier ab und schiebe es in Template-Konfiguration)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 21 September 2021, 11:31:34
Zitat von: jemu75 am 20 September 2021, 21:11:16
die Bedingungen werden von links nach rechts geprüft. Sobald die erste Bedingung zutrifft, wird die Prüfung beendet. Deshalb ist es wichtig, die Bedingungen ist der richtigen Reihenfolge zu definieren.

Danke Jens. Mit der Erklärung konnte ich ausschließen, dass es aufgrund der Verwendung unterschiedlicher Readings nicht bei funktioniert. Ursache war nach weitergehender Analyse, dass im Reading state erst "state_close" kommt und dann "closing", wenn der Rollladen runterfährt. Das hatte ich nicht gesehen. Wenn ich beide Werte im Regex für state beachte, funktioniert die Anzeige.

"text":  [
"state:set_open|opening:öffnet...",
"state:set_close|closing:schließt...",
"Shutter1_Position:100:offen",
"Shutter1_Position:1:teils offen",
"Shutter1_Position::geschlossen"
],
Titel: Antw:Antw:Featurewünsche
Beitrag von: Jamo am 21 September 2021, 11:53:04
Zitat von: Dr. Boris Neubert am 21 September 2021, 11:18:40
Hallo Jamo,

ich habe die aktuelle Version von fhemApp installiert. Hier mein Template zur Erläuterung:

{
  "name": "shutter3",
  "author": "borisneubert",
  "description": "Tasmota-based shutters",
  "date": "2021-09-20",
  "status": {
    "bar": ["Shutter1_Position::%n:success:invert"],
    "error": []
  },
  "main": [
    {
      "leftBtn": ["pct:1:mdi-chevron-down","pct::mdi-chevron-down:disabled"],
      "leftClick": ["state:set_close:stop","pct:1:close","pct::"],
      "text": ["state:set_open:öffnet...","state:set_close:schließt...","state:1:offen","state::geschlossen"],
      "rightBtn": ["Shutter1_Position:100:mdi-chevron-up:disabled","Shutter1_Position::mdi-chevron-up"],
      "rightClick": ["Shutter1_Position:100:","state:set_open:stop","state::open"]
    }
  ],
  "info": {
    "left1": ["state:set_.*::mdi-window-shutter-alert","pct:1::mdi-window-shutter-open","pct:::mdi-window-shutter"],
    "left2": ["Shutter1_Position::%s%"]
  }
}


Bei mir läuft erst einmal obiges Template und der Text wird entsprechend angezeigt. Auch wenn ich

       "midClick": ["state::stop"],


unter main hinzufüge, ist das mittlere Feld nicht klickbar. Erst wenn ich auch noch

      "midBtn": "mdi-dots-vertical",

unter main hinzufüge, wird das mittlere Feld klickbar und ich kann die Rollladenfahrt damit stoppen. Jedoch sehe ich dann statt des Texts nur das Icon (egal welches Icon). Auch mit einer leeren midBtn-Definition "[state::]" kommt kein Text.

Viele Grüße
Boris

(ich trenne das hier ab und schiebe es in Template-Konfiguration)

Du hast "midMenu" nicht definiert. "midClick" funktioniert nicht.
Titel: Antw:Antw:Featurewünsche
Beitrag von: Dr. Boris Neubert am 21 September 2021, 15:24:46
Zitat von: Jamo am 21 September 2021, 11:53:04
Du hast "midMenu" nicht definiert. "midClick" funktioniert nicht.

Ja, ich weiß, das habe ich ausprobiert, aber das will ich nicht (der Text erscheint in Großbuchstaben und es gibt ein Popup-Menu). Ich will ja nur, dass midClick auch auf Text funktioniert. Daher der Featurewunsch.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marcg am 02 November 2021, 12:05:14
Eine "point" Darstellung hat das chart-template nicht oder ? Ich würde gerne meine Bewegungsmelder so darstellen :

Marc
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 04 November 2021, 20:56:29
Zitat von: marcg am 02 November 2021, 12:05:14
Eine "point" Darstellung hat das chart-template nicht oder ? Ich würde gerne meine Bewegungsmelder so darstellen :

Marc

Hallo Marc,

aktuell leider nicht implementiert. Würde ich mir aber gern noch mal ansehen, da dein Beispiel Bewegungsmelder sehr gut visualisiert.
Folgende Frage dazu. Wie sehen die Werte aus, mit denen dein Chart befüllt wird. Konkret würde mich interessieren, wie du die Punkte auf unterschiedliche Y-Positionen bringst, wenn mehrere Melder im Chart dargestellt werden.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marcg am 05 November 2021, 10:40:49
Hallo,

die Melder geben mittels Userreading eine 1 aus (State motion) bei Bewegung und eine 0 bei keiner Bewegung (State nomotion). Die dargestellten Punkte sind also nur die mit 1. Der eine Melder linke Einteilung, der andere rechte Einteilung. Die Anzeige der 0 wird im Range ausgeblendet und gedreht damit der eine oben ist der andere unten.. Siehe Anhang...

Gruß & Danke
Marc


Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 07 November 2021, 13:40:19
Zitat von: marcg am 05 November 2021, 10:40:49
Hallo,

die Melder geben mittels Userreading eine 1 aus (State motion) bei Bewegung und eine 0 bei keiner Bewegung (State nomotion). Die dargestellten Punkte sind also nur die mit 1. Der eine Melder linke Einteilung, der andere rechte Einteilung. Die Anzeige der 0 wird im Range ausgeblendet und gedreht damit der eine oben ist der andere unten.. Siehe Anhang...

Gruß & Danke
Marc

Hallo Marc,

ich habe mal was vorbereitet. Aktuell sieht das wie folgt aus. (siehe Anhang) Ich würde jetzt noch den "Feinschliff" machen und dann ein neues Releasee freigeben.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 07 November 2021, 17:39:21
Zitat von: marcg am 02 November 2021, 12:05:14
Eine "point" Darstellung hat das chart-template nicht oder ? Ich würde gerne meine Bewegungsmelder so darstellen :

Marc

Hallo Marc,

ich habe eben ein neues Release freigegeben. Mit diesem ist die gewünschte Darstellung möglich. (Hinweise siehe Release-Notes)
Folgenden Unterschied gibt es in meiner Lösung. Damit die Punkte auf unterschiedlichen "Höhen" im Chart angezeigt werden, habe ich für jeden Bewegungsmelder ein userreading erstellt.
Ich habe das userreading bei mir "motionChartDot" genannt. Wenn der Bewegungsmelder eine Bewegung erkennt, so setze ich den Wert beim ersten Bewegungsmelder auf 2 beim zweiten auf 3 bei dritten 4 usw.
Wenn der Bewegungsmelder keine Bewegung erkennt, dann setze ich den Wert immer auf 0.

Die Definition für das userreading sieht bei mir z.B. so aus:

motionChartDot { return 0 if (ReadingsVal("$name", "motion", 0) eq "off");;;; return 4;; }


Und appOptions zur Darstellung des Diagrammes sieht so aus:

{ "template": "chart", "dashboard": "true", "chartDef": [":motionChartDot:Flur::no-label::1:5::0:4","motion.os.eg_FileLog:ter.motionChartDot:Terrasse::no-label::1:5::0:4","motion.os.eg_FileLog:ef.motionChartDot:Einfahrt::no-label::1:5::0:4"] }


Bei Fragen melde dich gern.

Beste Grüße
Jens  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marcg am 09 November 2021, 12:22:43
Wow....viel Dank.

Probiere ich natürlich gleich aus...

Grüße
Marc
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 03 Februar 2022, 09:11:19
Hallo Ihr,

habe das sysmon genutzt, um meine NAS in FhemApp darzustellen. Klappt auch ganz gut. Folgende 2 Fragen:

- Die CPU-Last wird von 0-1 angegeben. Habe in der Definition der bar auch 0:1 definiert. Leider ist die Leiste immer "leer".

- Der Status der HDDs wird von 1-5 definiert. Normal(1) Initialized(2) NotInitialized(3) SystemPartitionFailed(4) Crashed(5)
Wie kann ich den Klartext im Template darstellen? Vielleicht auch, dass bei 1 die Bar grün ist und beio den Stati 2-5 rot?

{ "template": "sysmon", "system": "true", "setup": {"subTitle": ["Internals.SystemDescription::%s"], "main": [{ "name": "CPU Auslastung:", "bar": ["load::%s:success:0:1"], "subText": ["load::%s"] }, {"name": "NAS Temperatur:", "bar": ["temperature::%n:success:0:100"], "subText": ["temperature::%n.1 °C"]}, {"name": "HDD1 Temperatur:", "bar": ["temp_hdd1::%n:success:0:100"], "subText": ["temp_hdd1::%n.1 °C"]}, {"name": "HDD2 Temperatur:", "bar": ["temp_hdd2::%n:success:0:100"], "subText": ["temp_hdd2::%n.1 °C"]},{"name": "HDD1 Status:", "subText": ["state_hdd1::%s"]}, {"name": "HDD2 Status:", "subText": ["state_hdd2::%s"]}, { "name": "NAS läuft seit:", "subText": ["uptime::%s"] } ]}}

Gruß
Marco

Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: andreas_r am 09 Februar 2022, 10:57:45
Hallo zusammen,

eine kleine Frage an Euch Experten: Ich habe verstanden, dass man das cam template auch zur Anzeige statischer Bilder verwenden kann.

Ist es auch möglich, den Pfad dieses Bildes aus einem Reading heraus zu nehmen? Und wenn ja, ändert das Template dann auch das Bild "automatisch", sobald sich das Reading ändert?

Danke und viele Grüße,
Andreas
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 09 Februar 2022, 23:23:13
Du musst zumindest ein reload machen, weil es ja kein reading gibt, auf das das template triggered. Der Pfad zu der source wird im attribut gesetzt. z.B. DWD für Bayerndefmod DWDBay dummy
attr DWDBay appOptions { "template": "cam", "name": "DWD Bayern", "group": "Wetter", "sortby": 400, "setup": { "size": "col-12 col-sm-6 col-md-4 col-lg-4", "source": "http://www.dwd.de/DWD/wetter/radar/radfilm_bay_akt.gif" } }

Man kann zumindest das attribut dynamisch verändern, z.B. fhem ("attr DWDBay appOptions ....") aber dann muss man danach immer noch ein re-load machen.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 13 Februar 2022, 13:11:32
Zitat von: marboj am 03 Februar 2022, 09:11:19
Hallo Ihr,

habe das sysmon genutzt, um meine NAS in FhemApp darzustellen. Klappt auch ganz gut. Folgende 2 Fragen:

- Die CPU-Last wird von 0-1 angegeben. Habe in der Definition der bar auch 0:1 definiert. Leider ist die Leiste immer "leer".

- Der Status der HDDs wird von 1-5 definiert. Normal(1) Initialized(2) NotInitialized(3) SystemPartitionFailed(4) Crashed(5)
Wie kann ich den Klartext im Template darstellen? Vielleicht auch, dass bei 1 die Bar grün ist und beio den Stati 2-5 rot?

{ "template": "sysmon", "system": "true", "setup": {"subTitle": ["Internals.SystemDescription::%s"], "main": [{ "name": "CPU Auslastung:", "bar": ["load::%s:success:0:1"], "subText": ["load::%s"] }, {"name": "NAS Temperatur:", "bar": ["temperature::%n:success:0:100"], "subText": ["temperature::%n.1 °C"]}, {"name": "HDD1 Temperatur:", "bar": ["temp_hdd1::%n:success:0:100"], "subText": ["temp_hdd1::%n.1 °C"]}, {"name": "HDD2 Temperatur:", "bar": ["temp_hdd2::%n:success:0:100"], "subText": ["temp_hdd2::%n.1 °C"]},{"name": "HDD1 Status:", "subText": ["state_hdd1::%s"]}, {"name": "HDD2 Status:", "subText": ["state_hdd2::%s"]}, { "name": "NAS läuft seit:", "subText": ["uptime::%s"] } ]}}

Gruß
Marco

Hallo Marco,

gebe die Parameter für die Bar bitte mal wie folgt ein: [value:color:min:max]

"bar": ["load:success:0:1"],


Die individuelle Anzeige des "Subtext" müsstest du wie folgt konfigurieren: [reading:value:text]

"subText": ["state_hdd1:1:normal","state_hdd1:2:Inizialized","state_hdd1:3:NotInizialized","state_hdd1:4:SystemPartitionFailed","state_hdd1:5:Crashed"]


Beste Grüße
Jens  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: marboj am 13 Februar 2022, 18:16:36
Hallo Jens,

der Status der HDD hat geklappt, die CPU-Nutzung zeigt nach deinem Vorschlag gar keine Bar mehr an  :-[

Habe die CPU-Nutzung jetzt über ein Userreading gelöst und den Prozentsatz in % berechnet.

userReadings cpu_app { 100 * ReadingsVal("AZ.NASStat","load",0)}

"bar": ["cpu_app::%s:success:0:100"], "subText": ["cpu_app::%n.1 %"] }


Gruß
Marco
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Wolle02 am 21 Februar 2022, 19:25:06
Hallo, ich verwende das Cam Template, um ein Bild des QR-Codes für mein Gast-WLAN anzuzeigen. Gibt es die Möglichkeit für "expand" auch in diesem Template, so dass ich den QR-Code nur bei Bedarf anzeigen lassen kann und er normalerweise "eingeklappt" ist?
Ich habe jetzt an verschiedenen Stellen mit "expand": true und  "expanded": false experimentiert. Leider ohne Erfolg.

Die appOptions sieht folgendermaßen aus:
{ "template": "cam",
"home": "true",
"room": "Flur",
"name": "Gast WLAN QR-Code",
"setup": { "source": "http://xxx.xxx.xxx.xxx:8083/fhem/images/Imperiales_Gast_WLAN.png" } }




Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 06 März 2022, 13:45:18
Zitat von: Wolle02 am 21 Februar 2022, 19:25:06
Hallo, ich verwende das Cam Template, um ein Bild des QR-Codes für mein Gast-WLAN anzuzeigen. Gibt es die Möglichkeit für "expand" auch in diesem Template, so dass ich den QR-Code nur bei Bedarf anzeigen lassen kann und er normalerweise "eingeklappt" ist?
Ich habe jetzt an verschiedenen Stellen mit "expand": true und  "expanded": false experimentiert. Leider ohne Erfolg.

Die appOptions sieht folgendermaßen aus:
{ "template": "cam",
"home": "true",
"room": "Flur",
"name": "Gast WLAN QR-Code",
"setup": { "source": "http://xxx.xxx.xxx.xxx:8083/fhem/images/Imperiales_Gast_WLAN.png" } }


Hallo Wolle,

die Eigenschaft gibt es derzeit leider nicht in dem Template "cam". Ich hatte auch schon überlegt, die Anzeige von Bildern generell in das Standard-Template zu integrieren. Damit stünden dann alle Funktionen, die das Standard-Template mitbringt, zur Verfügung. Zeitlich ist aktuell leider nicht all zu viel drin, aber ich behalte das mit auf dem Schirm.

Beste Grüße
Jens.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 09 März 2022, 09:51:39
bezüglich der Charts: Welchen Wert muss "daysAgo" haben, wenn ich nur die Daten vom heutigen Tag angezeigt haben will?

Bisher hatte ich "daysAgo": 0.5, aber das funktioniert aus irgendeinem Grund seit kurzem nicht mehr, es wird dann nichts mehr angezeigt, also das Chart ist dann leer und zeigt gar keine Kurve/Daten. "daysAgo": 0 liefert alle vorherigen Tage, "daysAgo": 1 liefert den Graph für gestern.
{ "template": "chart", "name": "Klima Draussen", "dashboard": true, "sortby": 10, "setup": { "status": { "bar": ["temperature:30:100:error", "temperature:25:75:warning","temperature:10:50:success", "temperature::25:info"],"error": []}, "info": { "mid1": ["temperature::Aktuell: %n.1 °C:mdi-thermometer"] }, "daysAgo": 1}, "chartDef": ["myDbLog:(Temp_Aussen:temperature):Temperatur:°C::::::2","myDbLog:(Temp_Aussen:humidity):Feuchtigkeit: %:secondary:::::2"] }
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: thoweiss am 11 März 2022, 08:00:52
Hallo zusammen,
ich habe fhemapp gerade für mich entdeckt, und habe direkt eine Frage:

Wie kann ich einen Schalter definieren der 4 Stati hat?
Ich brauche das für meine Lüftungsanlage, die hat 3 Stufen + Aus.


Gruß,
Thorsten
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 12 März 2022, 12:52:52
Zitat von: thoweiss am 11 März 2022, 08:00:52
Hallo zusammen,
ich habe fhemapp gerade für mich entdeckt, und habe direkt eine Frage:

Wie kann ich einen Schalter definieren der 4 Stati hat?
Ich brauche das für meine Lüftungsanlage, die hat 3 Stufen + Aus.


Gruß,
Thorsten

Hallo Thorsten,

spontan sehe ich da drei Möglichkeiten
1) einen einfachen Switch, der abhängig vom aktuellen Status der Lüftungsanlage zum nächsten Status schaltet
2) über ein Dropdown (Parameter "menu")
3) über mehrere Ebenen, also je Ebene einen bestimmten Modus der Lüftungsanlage schalten

Schau die gern mal die Beispiele in der Dokumentation an. Je nach dem, was dir optisch am meisten zusagt, kannst du dich gern noch mal bzgl. Umsetzung einer der o.g. Varianten melden.  :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 12 März 2022, 15:10:07
Hsllo Jens, nochmal bezüglich der Charts: Welchen Wert muss "daysAgo" haben, wenn ich nur die Daten vom heutigen Tag angezeigt haben will?

Bisher hatte ich "daysAgo": 0.5, aber das funktioniert aus irgendeinem Grund seit kurzem nicht mehr, es wird dann nichts mehr angezeigt, also das Chart ist dann leer und zeigt gar keine Kurve/Daten. "daysAgo": 0 liefert alle vorherigen Tage, "daysAgo": 1 liefert den Graph für gestern.

{ "template": "chart", "name": "Klima Draussen", "dashboard": true, "sortby": 10, "setup": { "status": { "bar": ["temperature:30:100:error", "temperature:25:75:warning","temperature:10:50:success", "temperature::25:info"],"error": []}, "info": { "mid1": ["temperature::Aktuell: %n.1 °C:mdi-thermometer"] }, "daysAgo": 1}, "chartDef": ["myDbLog:(Temp_Aussen:temperature):Temperatur:°C::::::2","myDbLog:(Temp_Aussen:humidity):Feuchtigkeit: %:secondary:::::2"] }
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 12 März 2022, 19:21:32
Zitat von: Jamo am 12 März 2022, 15:10:07
Hsllo Jens, nochmal bezüglich der Charts: Welchen Wert muss "daysAgo" haben, wenn ich nur die Daten vom heutigen Tag angezeigt haben will?

Bisher hatte ich "daysAgo": 0.5, aber das funktioniert aus irgendeinem Grund set kurzem nicht mehr, es wird dann nichts mehr angezeigt, also das Chart ist dann leer und zeigt gar keine Kurve/Daten. "daysAgo": 0 liefert alle vorherigen Tage, "daysAgo": 1 liefert den Graph für gestern.

{ "template": "chart", "name": "Klima Draussen", "dashboard": true, "sortby": 10, "setup": { "status": { "bar": ["temperature:30:100:error", "temperature:25:75:warning","temperature:10:50:success", "temperature::25:info"],"error": []}, "info": { "mid1": ["temperature::Aktuell: %n.1 °C:mdi-thermometer"] }, "daysAgo": 1}, "chartDef": ["myDbLog:(Temp_Aussen:temperature):Temperatur:°C::::::2","myDbLog:(Temp_Aussen:humidity):Feuchtigkeit: %:secondary:::::2"] }

Hallo,

das ist mir auch schon aufgefallen. Ich habe das was kaputt programmiert.  ::)
Werde kurzfristig ein Hotfix fertig machen.
daysAgo = 0 sollte dann wieder den aktuellen Tag liefern.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 13 März 2022, 17:36:25
Zitat von: jemu75 am 12 März 2022, 19:21:32
Hallo,

das ist mir auch schon aufgefallen. Ich habe das was kaputt programmiert.  ::)
Werde kurzfristig ein Hotfix fertig machen.
daysAgo = 0 sollte dann wieder den aktuellen Tag liefern.

Release 3.30.1 wird gleich freigegeben. :)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 13 März 2022, 20:05:24
Hallo Jens,
vielen Dank, funktioniert leider nicht, die Charts zeigen bei "daysAgo" = 0 als auch bei "daysAgo" = 0.5 nichts an. Sowohl unter Chrome als auch auf dem iPad / iPhone. Die Achsen sind leer. Siehe Bild.

Beste Grüsse!
appOptions
{ "template": "chart", "name": "Kühlschrank", "dashboard": true, "sortby": 1, "setup": { "status": { "bar": ["temperature_avg:10:100:error", "temperature_avg:7.5:75:warning","temperature_avg:6.5:0:info","temperature_avg:6:25:info","temperature_avg:5:50:info","temperature_avg:4:75:info","temperature_avg:2:100:info"],"error": []}, "info": { "mid1": ["temperature::Aktuell: %n.1 °C:mdi-thermometer"], "right1": ["temperature_avg::Aktuell Avg: %n.1 °C:mdi-thermometer"] }, "daysAgo": 0, "size": "col-12 col-sm-6 col-md-4 col-lg-4" }, "chartDef": ["myDbLog:(TempDiff1_T1:temperature):Temperatur:°C:::1:9:line:2:","myDbLog:(TempDiff1_T1:temperature_avg):Average:°C:secondary::1:9:line:2:"] }
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: thoweiss am 14 März 2022, 07:04:15
Zitat von: jemu75 am 12 März 2022, 12:52:52
Hallo Thorsten,

spontan sehe ich da drei Möglichkeiten
1) einen einfachen Switch, der abhängig vom aktuellen Status der Lüftungsanlage zum nächsten Status schaltet
2) über ein Dropdown (Parameter "menu")
3) über mehrere Ebenen, also je Ebene einen bestimmten Modus der Lüftungsanlage schalten

Schau die gern mal die Beispiele in der Dokumentation an. Je nach dem, was dir optisch am meisten zusagt, kannst du dich gern noch mal bzgl. Umsetzung einer der o.g. Varianten melden.  :)

Prima, danke - ich schau mir das dann einmal an.

Wird denn die setList der fhem devices von fhemapp ausgewertet?
So ist mein device definiert:
{
  "Arg":"du.kwl.stufe",
  "Results": [
  {
    "Name":"du.kwl.stufe",
    "PossibleSets":"Aus Stufe_1 Stufe_2 Stufe_3",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5  disable disabledForIntervals readingList setExtensionsEvent:1,0 setList useSetExtensions event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading appOptions:textField-long DbLogExclude DbLogInclude DbLogValueFn:textField-long alexaName alexaProactiveEvents:1,0 alexaRoom cmdIcon devStateIcon devStateIcon:textField-long devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride",
    "Internals": {
      "FUUID": "5c5e94b4-f33f-bcbf-72b3-ddcb4f3beea76993",
      "NAME": "du.kwl.stufe",
      "NR": "47",
      "STATE": "Stufe_2",
      "STILLDONETIME": "0",
      "TYPE": "dummy"
    },
    "Readings": {      "state": { "Value":"Stufe_2", "Time":"2022-03-14 05:30:42" } },
    "Attributes": {
      "DbLogInclude": "1",
      "alias": "Lüfterstufe",
      "devStateIcon": "Aus:vent_ventilation:Stufe_1 Stufe_1:vent_ventilation_level_1@lightblue:Stufe_2 Stufe_2:vent_ventilation_level_2@green:Stufe_3 Stufe_3:vent_ventilation_level_3@orange:Aus",
      "group": "Bedienung",
      "room": "Lueftung",
      "setList": "Aus Stufe_1 Stufe_2 Stufe_3",
      "userReadings": "kwl_stufe"
    }
  }  ],
  "totalResultsReturned":1
}


gruß,
Thorsten
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 14 März 2022, 10:07:35
Zitat von: thoweiss am 14 März 2022, 07:04:15
Prima, danke - ich schau mir das dann einmal an.

Wird denn die setList der fhem devices von fhemapp ausgewertet?
So ist mein device definiert:
{
  "Arg":"du.kwl.stufe",
  "Results": [
  {
    "Name":"du.kwl.stufe",
    "PossibleSets":"Aus Stufe_1 Stufe_2 Stufe_3",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5  disable disabledForIntervals readingList setExtensionsEvent:1,0 setList useSetExtensions event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading appOptions:textField-long DbLogExclude DbLogInclude DbLogValueFn:textField-long alexaName alexaProactiveEvents:1,0 alexaRoom cmdIcon devStateIcon devStateIcon:textField-long devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride",
    "Internals": {
      "FUUID": "5c5e94b4-f33f-bcbf-72b3-ddcb4f3beea76993",
      "NAME": "du.kwl.stufe",
      "NR": "47",
      "STATE": "Stufe_2",
      "STILLDONETIME": "0",
      "TYPE": "dummy"
    },
    "Readings": {      "state": { "Value":"Stufe_2", "Time":"2022-03-14 05:30:42" } },
    "Attributes": {
      "DbLogInclude": "1",
      "alias": "Lüfterstufe",
      "devStateIcon": "Aus:vent_ventilation:Stufe_1 Stufe_1:vent_ventilation_level_1@lightblue:Stufe_2 Stufe_2:vent_ventilation_level_2@green:Stufe_3 Stufe_3:vent_ventilation_level_3@orange:Aus",
      "group": "Bedienung",
      "room": "Lueftung",
      "setList": "Aus Stufe_1 Stufe_2 Stufe_3",
      "userReadings": "kwl_stufe"
    }
  }  ],
  "totalResultsReturned":1
}


gruß,
Thorsten

Guten Morgen,

setlist wird bisher leider nicht unterstützt.

Beste Grüße
Jens
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: ThoTo am 14 März 2022, 20:42:50
Zitat von: Jamo am 13 März 2022, 20:05:24
Hallo Jens,
vielen Dank, funktioniert leider nicht, die Charts zeigen bei "daysAgo" = 0 als auch bei "daysAgo" = 0.5 nichts an. Sowohl unter Chrome als auch auf dem iPad / iPhone. Die Achsen sind leer. Siehe Bild.

Beste Grüsse!

Versuch mal wie folgt:
  "setup": {
    "daysAgo": 0,
    "daysTo": -1
  }


LG Thomas
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 14 März 2022, 20:59:20
Hallo Thomas,
sieht gut aus, danke! Magic . . .
Woher wusstest Du das, "daysTo" steht nirgendwo in der Doku (unter https://github.com/jemu75/fhemApp#readme)

Danke, Jamo!
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: ThoTo am 14 März 2022, 21:41:06
Zitat von: Jamo am 14 März 2022, 20:59:20
Hallo Thomas,
sieht gut aus, danke! Magic . . .
Woher wusstest Du das, "daysTo" steht nirgendwo in der Doku (unter https://github.com/jemu75/fhemApp#readme)

Danke, Jamo!

Nachdem es bei mir auch mit der neuen Version nicht geklappt hat, hab' ich mir den gestrigen Commit von Jens auf GitHub angesehen und bin dabei auf den zweiten Parameter gestoßen  :)

https://github.com/jemu75/fhemApp/commit/878097fc7d919b46183b3ab835275051564c3331#diff-b1453067d42aaf66bc13ece8bd6eefad5b0db7f1a95881098c35a967edabcb6b (https://github.com/jemu75/fhemApp/commit/878097fc7d919b46183b3ab835275051564c3331#diff-b1453067d42aaf66bc13ece8bd6eefad5b0db7f1a95881098c35a967edabcb6b)

LG Thomas
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 14 März 2022, 21:46:22
Schlau!  :)
Liebe Grüsse auch & danke nochmal!
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 15 März 2022, 09:30:15
Hallo Jamo und ThoTo,

ich hatte ja die Version 3.30.1 veröffentlicht und dort das Problem mit daysAgo im Template Chart behoben. Funktioniert das jetzt?

PS.: daysTo ergänze ich mal noch in der Doku.  ;)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 15 März 2022, 09:36:11
Hallo Jens,
ja funktioniert 1a - danke. Mit den Settings von Thomas daysAgo = 0 und daysTo = -1 (hier nochmal für alle in Codetags) habe ich genau das was ich brauche, also die Charts vom heutigen Tag.
"setup": {
    "daysAgo": 0,
    "daysTo": -1
  }
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 15 März 2022, 11:14:39
Hallo,

bastel auch grade meine FhemAPP zusammen - bis jetzt gefällt mir das ganze sehr gut ;)

ich äusser einfach mal nen "Wunsch" und schau was kommt ...

Würde gern ein panel erstellen, indem die Fritzboxen und Repeater im Haus aufgeführt würden - da das Fritzbox Modul keinen echten "on|off" status liefert, würde ich als "status" gerne das vorhanden sein einer IP verwenden. Zusätzlich hätte ich bei der Hauptbox (Mesh) gerne die Möglichkeit die 3 WLAN (2,4G 5G Gast) schalten zu können ...

Überhaupt möglich? ^^

thx
Jens
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 15 März 2022, 16:18:27
Zitat von: draddy am 15 März 2022, 11:14:39
Hallo,

bastel auch grade meine FhemAPP zusammen - bis jetzt gefällt mir das ganze sehr gut ;)

ich äusser einfach mal nen "Wunsch" und schau was kommt ...

Würde gern ein panel erstellen, indem die Fritzboxen und Repeater im Haus aufgeführt würden - da das Fritzbox Modul keinen echten "on|off" status liefert, würde ich als "status" gerne das vorhanden sein einer IP verwenden. Zusätzlich hätte ich bei der Hauptbox (Mesh) gerne die Möglichkeit die 3 WLAN (2,4G 5G Gast) schalten zu können ...

Überhaupt möglich? ^^

thx
Jens

Hallo,

schön zu lesen, dass Du dich für FHEMApp begeistert hast.  :)
Die FHEMApp ist generisch aufgebaut und somit sehr flexibel konfigurierbar. Leider ist die Doku dadurch auch recht umfangreich. ;)
Entscheidend für die Anzeige von Werten oder dem Schalten ist das jeweilige FHEM Device. D.h. alles was Du im FHEM Device siehst und schalten kannst, dass kannst du auch in FHEMApp anzeigen bzw. schalten.

Zu Deiner Frage:
Ja, du kannst deine "Fritz-Komponenten" in einem Panel darstellen. Wie oben schon geschrieben, ist die Voraussetzung, dass Du die Boxen, Repeater ect. in FHEM eingebunden hast.
Du könntest nun für jede "Fritzkomponente" ein PanelItem (eine Zeile im Panel) definieren.
Welche Möglichkeiten zur Anzeige von Werten und zum Schalten in PanelItems zur Verfügung stehen, ist in der Doku hier beschrieben:
https://github.com/jemu75/fhemApp#definition-von-panelitems (https://github.com/jemu75/fhemApp#definition-von-panelitems)

Vorgehensweise wäre nun also folgende:
1) in einem FHEM Device (z.B. dummy oder structure) über appOptions ein Panel konfigurieren
2) in deinen FHEM Device(s) der "Fritzkomponente(n)" über appOptions das PanelItem konfigurieren

Ich hoffe damit erstmal einen Ansatz geliefert zu haben.  :)

Melde Dich gern, wenn Du weiter Fragen hast.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 15 März 2022, 16:37:54
hi,

nun, der Ansatz ist relativ klar, habe bereits Panel für Lichter z.B. gebaut aber da ists relativ simpel - pro licht ein Reading und ein Schalter xD

habe einen Dummy erstellt welcher das appOption fürs panel hat, aber stehe echt aufm schlauch aktuell was den rest betrifft :D
also wie bekomme ich jetzt A mehrere Schalter in ein Panelobjekt, wie kann ich am geschicktesten das vorhanden sein einer ip als "status on" werten? ... ^^


andere sache noch:
bin grade dabei charts zu machen ... mein log speichert power (watt) und kwh für ein shelly device, jedoch, wenn das device aus ist, wird kein power 0 wert geschrieben ... im chart sieht das jetzt so aus als wäre das device von 0 bis 6 uhr gelaufen - was aber nicht stimmt (z.b. mein Monitor)
bringe ich das irgendwie hin, dass wenn kein reading da ist, der graf 0 zeigt? oder muss ich mein log irgendwie so überarbeiten, das er auch 0 werte  schreibt?

Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 15 März 2022, 19:01:28
Zitat von: draddy am 15 März 2022, 16:37:54
hi,

nun, der Ansatz ist relativ klar, habe bereits Panel für Lichter z.B. gebaut aber da ists relativ simpel - pro licht ein Reading und ein Schalter xD

habe einen Dummy erstellt welcher das appOption fürs panel hat, aber stehe echt aufm schlauch aktuell was den rest betrifft :D
also wie bekomme ich jetzt A mehrere Schalter in ein Panelobjekt, wie kann ich am geschicktesten das vorhanden sein einer ip als "status on" werten? ... ^^


andere sache noch:
bin grade dabei charts zu machen ... mein log speichert power (watt) und kwh für ein shelly device, jedoch, wenn das device aus ist, wird kein power 0 wert geschrieben ... im chart sieht das jetzt so aus als wäre das device von 0 bis 6 uhr gelaufen - was aber nicht stimmt (z.b. mein Monitor)
bringe ich das irgendwie hin, dass wenn kein reading da ist, der graf 0 zeigt? oder muss ich mein log irgendwie so überarbeiten, das er auch 0 werte  schreibt?

Lass uns mal der Reihe nach vorgehen.
Vorab ein paar Fragen
1) in welchem FHEM Device hast du das Panel zur Darstellung der "Fritz-Komponenten" konfiguriert? Bitte mal ein JsonList2 von dem Device hier anfügen
2) in welchem FHEM Device steht die IP, die du prüfen möchtest?
3) hast du das PanelItem zu Anzeige des Status schon konfiguriert? Wenn ja, bitte auch von diesem FHEM Device mal ein JsonList2 hier posten.
4) was steht in dem reading IP, wenn die Box nicht verbunden ist?
5) was möchtest du alles schalten?
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 15 März 2022, 19:51:05
moin,
ok, hoffe du meinst das mit JsonList2 ^^

dummy für das Panel

{
  "Arg":"d_NetworkAPP",
  "Results": [
  {
    "Name":"d_NetworkAPP",
    "PossibleSets":" ",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5  disable disabledForIntervals readingList setExtensionsEvent:1,0 setList useSetExtensions event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading cmdIcon devStateIcon:textField-long devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride appOptions:textField-long",
    "Internals": {
      "CFGFN": "",
      "FUUID": "62305d7c-f33f-0d8f-807b-fd79e42d9c1d3f05",
      "NAME": "d_NetworkAPP",
      "NR": "33695",
      "STATE": "???",
      "TYPE": "dummy"
    },
    "Readings": { },
    "Attributes": {      "appOptions": "{\"template\": \"panel\", \"connected\": \n\u0009{\"FB Restart\":\"Shelly_FB\", \"FB6591\":\"FritzBox\", \"FB7490\":\"FritzBox2\", \"FR1200\":\"FritzRepeater1200\"},\n\"name\":\"Netzwerk\",\n\"home\":\"true\"\n}" }
  }  ],
  "totalResultsReturned":1
}


eine der Fritzboxen (Heimnetz Geräte entfernt)

{
  "Arg":"FritzBox2",
  "Results": [
  {
    "Name":"FritzBox2",
    "PossibleSets":"call checkAPIs:noArg diversity guestWlan:on,off password ring tam update:noArg wlan:on,off wlan2.4:on,off wlan5:on,off",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5  allowShellCommand:0,1 allowTR064Command:0,1 boxUser disable:0,1 defaultCallerName defaultUploadDir forceTelnetConnection:0,1 fritzBoxIP INTERVAL m3uFileLocal m3uFileURL ringWithIntern:0,1,2 telnetUser telnetTimeOut useGuiHack:0,1 userTickets event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading cmdIcon devStateIcon:textField-long devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride appOptions:textField-long",
    "Internals": {
      "APICHECKED": "1",
      "DEF": "192.168.177.3",
      "FUUID": "621a32e6-f33f-0d8f-d887-3dd67e28d2ed4b01",
      "FVERSION": "72_FRITZBOX.pm:0.221250/2020-06-06",
      "HOST": "192.168.177.3",
      "INTERVAL": "300",
      "LUAQUERY": "1",
      "M3U_LOCAL": "./www/images/FritzBox2.m3u",
      "M3U_URL": "http://172.17.0.4:8088/fhem/images/FritzBox2.m3u",
      "MODEL": "FRITZ!Box 7490",
      "NAME": "FritzBox2",
      "NR": "66",
      "REMOTE": "1",
      "SECPORT": "xxxxx",
      "STATE": "1:on\n2:on\n3:on\n<br>\nOnline: 192.168.177.3",
      "TELNET": "0",
      "TR064": "1",
      "TYPE": "FRITZBOX",
      "WEBCM": "0"
    },
    "Readings": {
      "alarm1": { "Value":"Wecker 1", "Time":"2022-03-15 19:30:46" },
      "alarm1_state": { "Value":"off", "Time":"2022-03-15 19:30:46" },
      "alarm1_target": { "Value":"FON 1", "Time":"2022-03-15 19:30:46" },
      "alarm1_time": { "Value":"00:00", "Time":"2022-03-15 19:30:46" },
      "alarm1_wdays": { "Value":"daily", "Time":"2022-03-15 19:30:46" },
      "alarm2": { "Value":"Wecker 2", "Time":"2022-03-15 19:30:46" },
      "alarm2_state": { "Value":"off", "Time":"2022-03-15 19:30:46" },
      "alarm2_target": { "Value":"FON 1", "Time":"2022-03-15 19:30:46" },
      "alarm2_time": { "Value":"00:00", "Time":"2022-03-15 19:30:46" },
      "alarm2_wdays": { "Value":"daily", "Time":"2022-03-15 19:30:46" },
      "alarm3": { "Value":"Wecker 3", "Time":"2022-03-15 19:30:46" },
      "alarm3_state": { "Value":"off", "Time":"2022-03-15 19:30:46" },
      "alarm3_target": { "Value":"FON 1", "Time":"2022-03-15 19:30:46" },
      "alarm3_time": { "Value":"00:00", "Time":"2022-03-15 19:30:46" },
      "alarm3_wdays": { "Value":"daily", "Time":"2022-03-15 19:30:46" },
      "box_connect": { "Value":"5", "Time":"2022-03-15 19:30:46" },
      "box_cpuTemp": { "Value":"51", "Time":"2022-03-15 19:30:46" },
      "box_dect": { "Value":"on", "Time":"2022-03-15 19:30:46" },
      "box_fwVersion": { "Value":"113.07.29", "Time":"2022-03-15 19:30:46" },
      "box_guestWlan": { "Value":"on", "Time":"2022-03-15 19:30:46" },
      "box_guestWlanCount": { "Value":"0", "Time":"2022-03-15 19:30:46" },
      "box_guestWlanRemain": { "Value":"-1", "Time":"2022-03-15 19:30:46" },
      "box_ipExtern": { "Value":"192.168.177.3", "Time":"2022-03-15 19:30:46" },
      "box_model": { "Value":"FRITZ!Box 7490 [avm]", "Time":"2022-03-14 11:20:35" },
      "box_moh": { "Value":"default", "Time":"2022-03-15 19:30:46" },
      "box_powerRate": { "Value":"46", "Time":"2022-03-15 19:30:46" },
      "box_rateDown": { "Value":"0.000", "Time":"2022-03-15 19:30:46" },
      "box_rateUp": { "Value":"0.000", "Time":"2022-03-15 19:30:46" },
      "box_stdDialPort": { "Value":"dect1", "Time":"2022-03-15 19:30:46" },
      "box_tr064": { "Value":"on", "Time":"2022-03-15 19:30:46" },
      "box_tr069": { "Value":"off", "Time":"2022-03-15 19:30:46" },
      "box_wlanCount": { "Value":"14", "Time":"2022-03-15 19:30:46" },
      "box_wlan_2.4GHz": { "Value":"on", "Time":"2022-03-15 19:30:46" },
      "box_wlan_5GHz": { "Value":"on", "Time":"2022-03-15 19:30:46" },
      "dect1": { "Value":"Jens", "Time":"2022-03-15 19:30:46" },
      "dect1_fwVersion": { "Value":"0.00", "Time":"2022-03-15 19:30:46" },
      "dect1_intRingTone": { "Value":"HandsetDefault", "Time":"2022-03-15 19:30:46" },
      "dect1_intern": { "Value":"610", "Time":"2022-03-15 19:30:46" },
      "dect1_manufacturer": { "Value":"Siemens", "Time":"2022-03-15 19:30:46" },
      "dect1_model": { "Value":"0x00", "Time":"2022-03-15 19:30:46" },
      "dect2": { "Value":"Alex", "Time":"2022-03-15 19:30:46" },
      "dect2_fwVersion": { "Value":"0.00", "Time":"2022-03-15 19:30:46" },
      "dect2_intRingTone": { "Value":"HandsetDefault", "Time":"2022-03-15 19:30:46" },
      "dect2_intern": { "Value":"611", "Time":"2022-03-15 19:30:46" },
      "dect2_manufacturer": { "Value":"Siemens", "Time":"2022-03-15 19:30:46" },
      "dect2_model": { "Value":"0x00", "Time":"2022-03-15 19:30:46" },
      "gsm_internet": { "Value":"0", "Time":"2022-03-15 19:30:46" },
      "lastReadout": { "Value":"473 values captured in 2.00 s", "Time":"2022-03-15 19:30:46" },

      "state": { "Value":"WLAN: on gWLAN: on", "Time":"2022-03-15 19:30:46" },
      "tam1": { "Value":"Anrufbeantworter", "Time":"2022-03-15 19:30:46" },
      "tam1_newMsg": { "Value":"0", "Time":"2022-03-15 19:30:46" },
      "tam1_oldMsg": { "Value":"0", "Time":"2022-03-15 19:30:46" },
      "tam1_state": { "Value":"off", "Time":"2022-03-15 19:30:46" },
      "user01": { "Value":"(guest)", "Time":"2022-03-15 19:30:46" },
      "user01_thisMonthTime": { "Value":"0:00", "Time":"2022-03-15 19:30:46" },
      "user01_todaySeconds": { "Value":"0", "Time":"2022-03-15 19:30:46" },
      "user01_todayTime": { "Value":"0:00", "Time":"2022-03-15 19:30:46" },
      "user01_type": { "Value":"Guest", "Time":"2022-03-15 19:30:46" },
      "userTicket01": { "Value":"519969", "Time":"2022-03-15 19:30:46" }
    },
    "Attributes": {
      "alias": "Fritzbox 7490",
      "boxUser": "fritz7538",
      "devStateIcon": "1.on:wifi-2.4G@green:wlan2.4+off 1.off:wifi-2.4G@red:wlan2.4+on \n2.on:wifi-5G@green:wlan5+off 2.off:wifi-5G@red:wlan5+on \n3.on:wifi-Gast@green:guestWlan+off 3.off:wifi-Gast@red:guestWlan+on",
      "devStateStyle": "style=\"text-align:right;;",
      "icon": "it_FritzBox@red",
      "room": "Devices->Network",
      "sortby": "2",
      "stateFormat": "1:box_wlan_2.4GHz\n2:box_wlan_5GHz\n3:box_guestWlan\n<br>\nOnline: box_ipExtern"
    }
  }  ],
  "totalResultsReturned":1
}

gute idee wegen IP check ... passiert leider nix - sprich wenn ich netzwerkkabel rausnehm und box damit nicht mehr erreichbar ist, kommt nur log eintrag das sie nicht erreichbar ist ... also - check mittels ip ist wohl nix ^^

panelitem eintrag im device habe ich noch nicht, (wieder gelöscht weil nicht weiter gekommen ^^)

{
"template": "switch",
"name": "FB 7490",
"room": "Netzwerk",
  "panel": {
    "status": ["state:'WLAN: off'::0", "state:'WLAN: on'::100"],
    "btn": ["state:on:mdi-lightbulb-on", "state:off:mdi-lightbulb-outline"],
    "click": ["state:off:on", "state:on:off"]
  }
}

das war der versuch meine "standard vorlage" bissl anzupassen ...

Wunschliste

der aufgeführte FB Shelly kann ignoriert werden, dieser hängt an der Hauptbox mit "auto on nach 30 sekunden" um einen Fritzbox üblichen "nehmen sie das Gerät mal 30 Sekunden vom Strom" durch führen zu können :D

hoffe das bringt uns irgendwie weiter ;)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 15 März 2022, 20:04:56
Zitat von: draddy am 15 März 2022, 11:14:39
Hallo,
....Würde gern ein panel erstellen, indem die Fritzboxen und Repeater im Haus aufgeführt würden - da das Fritzbox Modul keinen echten "on|off" status liefert, würde ich als "status" gerne das vorhanden sein einer IP verwenden. Zusätzlich hätte ich bei der Hauptbox (Mesh) gerne die Möglichkeit die 3 WLAN (2,4G 5G Gast) schalten zu können ...

Hallo Draddy,
ich habe so was in der Art schon mal gemacht, mit einem Panel, wo ich die FB und einen DVBc Repeater ins Panel eingebunden habe:
Unten das Bild vom Panel mit dem Menue für die verschiedenen Wlan on/off Optionen.
Weil der Repeater und der Repeater im Mesh sind, wird das Repeater WLAN immer so wie das Master FB device geschalten, deswegen habe ich da als Eintrag "-FBox & FRep -" drüber geschrieben. (Das AutoOff ist hier für Dich ohne Belang).

Meine Lösung ist: 
1) Ein neues Reading fhemAppState für die FritzBox, das sieht so ausfhemAppState  5:on 2.4:on Gast:on AutoOff:on

2) Die sub und das notify dazu, die das fhemAppState reading im Device FritzBox erzeugt:
defmod FritzBox_n notify F ritzBox:box_guestWlan:.*|FritzBox:box_wlan_2.4GHz:.*|FritzBox:box_wlan_5GHz:.* {myFritzBox_n()}

sub myFritzBox_n {
    my $wlan5     = ReadingsVal($NAME,'box_wlan_5GHz','nA');
    my $wlan2     = ReadingsVal($NAME,'box_wlan_2.4GHz','nA');
    my $wlang     = ReadingsVal($NAME,'box_guestWlan','nA');
    my $WLAutoOff = ReadingsVal('WLANAutoOff','state','nA');
    fhem ("sleep 0.5 sleep_FritzBox_n;setreading FritzBox fhemAppState ".'5:'.$wlan5.'   2.4:'.$wlan2.'   Gast:'.$wlang.'   AutoOff:'.$WLAutoOff);}


Das attr FritzBox appOptions dazu:
attr FritzBox appOptions { "name": "FritzBox", "panel": { "status": [
"fhemAppState:.*on.*on.*on.*:%s:100:success",
"fhemAppState:.*off.*off.*off.*:%s:0:success",
"fhemAppState:.*on.*off.*off.*:%s:33:info",
"fhemAppState:.*off.*on.*off.*:%s:33:info",
"fhemAppState:.*off.*off.*on.*:%s:33:error",
"fhemAppState:.*on.*on.*off.*:%s:66:info",
"fhemAppState:.*on.*off.*on.*:%s:66:warning",
"fhemAppState:.*off.*on.*on.*:%s:66:warning"], "btn": ["state:WLAN..off.gWLAN..off:mdi-toggle-switch-off-outline","state::mdi-toggle-switch"],
"menu": [" - FBox & FRep - :","AutoOff on:set WLANAutoOff on","AutoOff Off:set WLANAutoOff off","Wlan On:set FritzBox wlan on","Wlan Off:set FritzBox wlan off",
"gWlan On:set FritzBox guestWlan on","gWlan Off:set FritzBox guestWlan off","Wlan 5 On:set FritzBox wlan5 on","Wlan 5 Off:set FritzBox wlan5 off",
"Wlan 2.4 On:set FritzBox wlan2.4 on","Wlan 2.4 Off:set FritzBox wlan2.4 off"] }}

Je nachdem wieviel "WLAN angeschaltet ist", desto länger ist der Staus Bar.

Das Panel dazu:
defmod panelInternet dummy
attr panelInternet alias Internet
attr panelInternet appOptions { "template": "panel", "name": "Internet", "home": true, "dashboard": false, "group": "Arbeit", "sortby": 10, "connected": { "FBx": "FritzBox", "SDVBc": "Schalter_DVBc", . . . . . . . . .. .
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 15 März 2022, 20:29:38
Zitat von: draddy am 15 März 2022, 19:51:05
moin,
...gute idee wegen IP check ... passiert leider nix - sprich wenn ich netzwerkkabel rausnehm und box damit nicht mehr erreichbar ist, kommt nur log eintrag das sie nicht erreichbar ist ... also - check mittels ip ist wohl nix ^^
Falls Du checken willst, ob die FB mit dem Internet verbunden ist, gibt es hier https://forum.fhem.de/index.php/topic,124986.msg1195753.html#msg1195753 Lösungsansetze, die auch greifen, falls der eigene DNS Server wie AdGuard oder PiHole ausgefallen ist. Dafür könnte man einfach den fhemAppState von oben erweitern.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 15 März 2022, 23:26:56
moin,

nein mit der IP war eigentlich nur die idee irgendeine art von "status" zu bekommen, hatte, ohne testen, die hoffnung das ip auf "no ip" oder so springt, wenn die fritzbox nicht erreichbar ist ...

für den rest danke ich dir erstmal! sieht schonmal so aus wie ich mir das vorgestellt habe ;) 

das auto off denke ich bezieht sich auf das Gast Wlan auto off? - kann ich das einfach raus schmeissen im notify und menü oder muss ich im  fhemAppState bereich von appOptions auch noch was beachten?

ich geh mal basteln ;)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 16 März 2022, 00:05:57
soo, also, das hat sehr gut geklappt!

habe einfach das autowlanoff zeugs rausgeschmissen ...

gibts jetzt noch ne quick%dirty methode nen status für fritzbox 2 und repeater zu bekommen? für die beiden reicht es vollkommen aus, wenn der status "on" ist wenn box|repeater da ist, bzw. off, wenn sie nicht da ist (offline, netzwerkkabel getrennt, kein strom was auch immer)

thx
Jens
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 16 März 2022, 12:39:17
Zitat von: draddy am 16 März 2022, 00:05:57
...gibts jetzt noch ne quick%dirty methode nen status für fritzbox 2 und repeater zu bekommen? für die beiden reicht es vollkommen aus, wenn der status "on" ist wenn box|repeater da ist, bzw. off, wenn sie nicht da ist (offline, netzwerkkabel getrennt, kein strom was auch immer)
Hallo Jens, suchst Du jetzt 1) eine Möglichkeit in fhem, um den status zu bekommen (und wie Du das in fhem einbindest weisst Du dann selber), oder 2) was um den Status in deine fhemApp reinzubekommen?
1) wäre presence mit lan-ping übe die IP adresse deiner fritzbox 2 und repeater
2) Für das presence device müsstest Du z.B. einfach den state (present/absent) in fhemApp abbilden
Grüsse!
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 16 März 2022, 20:11:37
also in FHEM habe ich die 2. Box und den Repeater auch über das Fritzbox modul drin ...

dem modul fehlt eben, wie schonmal gesagt, einfach ein reading alla "is online" oder so, was sich ändert, wenn eben nicht online ist ...

wie würde das mit ping innerhalb von fhem klappen? weil, wenn ich das irgendwie in das jeweilige device bekomme und dann als reading speicher, hätte ich ja für FHEMAPP auch gleich was ich brauche.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Jamo am 16 März 2022, 21:02:03
Weil ja auch die Fritzbox selber presence/absence bereitstellt, sähe eine alternative Lösung so aus:

1) In deiner ersten Fritzbox (die Haupt-FB) folgende Userreadings machen. Dabei nehme ich an, das deine FB2 über LAN mit der FritzBox verbunden ist, dein Repeater über WLAN. Beide können dazu noch über einen Schalter an- und ausgeschaltet werden. Der Schalter hat ein Reading 'state' das 'on' oder 'off' ist. Falls keine Schalter vorhanden, einfach z.B das ,'Schalter_FB2' und/oder ,'Schalter_Repeater' weglassen.
attr FritzBox userReadings
Presence_FritzBox2 {checkMACpresent($name,'FB:ZW:EI:MC:AD:DR','LAN','Schalter_FB2')},
Presence_Repeater  {checkMACpresent($name,'RE:PE:AT:MC:AD:DR','WLAN','Schalter_Repeater')}


2) folgende Sub in deine 99_MyUtils.pm reinkopieren:
################################################################################
### FB Lan Check mit Schalter, wenn Schalter aus -> absent                   ###
### function {checkMACpresent($name,'DI:EM:AC:AD:DR:ES','LAN oder WLAN oder gWLAN','Schalter')}###
################################################################################
sub checkMACpresent {
  my $sub          = 'checkMACpresent';
  my $device       = shift // return "Error, $sub: we need the devicename as parameter!";
  my $MAC          = shift // return "Error, $sub: we need MAC as parameter!";
  my $NET          = shift // return "Error, $sub: we need WLAN or WLANg or LAN as parameter!";
  my $Switch       = shift // 'noSwitch';
  my $returnNum    = shift // 0;
  my $ret          = 'absent';
  my $retNum       = 0;
  my $hash         = $defs{$device};
  my $FBState      = $hash->{READINGS}{'state'}{VAL};
  my $Switchstate  = ReadingsVal($Switch,'state','off');
     $Switchstate  = $Switch eq 'noSwitch'?'on':$Switchstate;
  #Log 3, "[$sub] D=$device, N=$NET, $ret=ret, returnNum=$returnNum, Switchstate=$Switchstate, FBS=$FBState, $MAC";
  if ($Switchstate eq 'on' && $FBState ne 'disabled') {
       $MAC        =~ tr/:/_/;
       $MAC        = 'mac_'.uc($MAC);
    my $StatusMac  = defined($hash->{READINGS}{$MAC})?$hash->{READINGS}{$MAC}{VAL}:'inactive';
    if    ($StatusMac eq 'inactive') {}   #Log 3, "[$sub] LAN or WLAN StatusMac inactive oder Schalter aus, reading does not exist";
    elsif ($NET eq 'LAN') {
      if ($StatusMac =~ /(.*)s, 0/) {}    #Log 3, "[$sub] LAN StatusMac 0 MB/s";
      else {$ret = 'present';$retNum = 1} #Log 3, "[$sub] LAN Rückgabewert ist nicht "inactive", also ist das Gerät am Netzwerk angemeldet.";
    }
    elsif ($NET eq 'WLAN') {
      my $WlanState = $hash->{READINGS}{'wlanAny'}{VAL};
      if ($WlanState eq 'on') {
        if    ($StatusMac =~ /WLAN,.0.\/.0.Mbit.s.*/)  {$ret = 'present';$retNum = 1} # Dieser Zweig testet auf "<geraetename> (WLAN, 0 / 0 Mbit/s, 0)"
        elsif ($StatusMac =~ /.*\(WLAN.*/)             {$ret = 'present';$retNum = 1} #Log 3, "[$sub] WLAN Rückgabewert ist nicht "inactive", also ist das Gerät am Netzwerk angemeldet.";
      }
    }
    elsif ($NET eq 'WLANg') {
      my $WlanGState = $hash->{READINGS}{'box_guestWlan'}{VAL};
      if ($WlanGState eq 'on') {
        if    ($StatusMac =~ /gWLAN,.0.\/.0.Mbit.s.*/) {$ret = 'present';$retNum = 1} # Dieser Zweig testet auf "<geraetename> (gWLAN, 0 / 0 Mbit/s, 0)"
        elsif ($StatusMac =~ /.*\(gWLAN.*/)            {$ret = 'present';$retNum = 1} #Log 3, "[$sub] gWLAN Rückgabewert ist nicht "inactive", also ist das Gerät am Netzwerk angemeldet.";
      }
    }
  }
  if ($returnNum) {return $retNum;} else {return $ret;}
}


Damit bekommst Du in deiner HauptFritzbox zwei neue Readings für deinen Repeater und FB2, mit absence/presence. Das kannst Du dann aber auch noch ändern wenn Dir presence/absence nicht gefällt. Die Lösung ist an einem FHEM Wiki Artikel angelehnt, und ein bischen erweitert. Die MAC adressen musst Du entsprechend anpassen.
Das presence/absence kannst Du Dir dann wieder in dein Panel als state oder sonstwas holen.

PS: Das gehört aber nicht in dieses FHEMApp forum.

PS2: Das absence/presence ändert sich mit INTERVAL, das in deiner HauptFritzbox als attr INTERVAL gesetzt ist (also wie oft sich die FB readings aktualisieren.)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 17 März 2022, 00:14:54
hi, dank dir,

habe noch ein wenig rumprobiert, das Reading "lastReadout" ist "verlässlich" wenn die Box / Repeater nicht erreichbar ist.

habe daraus jetzt das userReading "isON" gebaut ...

isON {if (ReadingsVal($name,"lastReadout","") eq "500 Can't connect to 192.168.177.3:80 (No route to host)") {return 0} elsif (ReadingsVal($name,"lastReadout","") eq "Didn't get a session ID") {return 0} else {return 1}}
[code]
sieht nicht gaaanz so elegant aus, klappt aber ;)

nach ca 10 minuten gehts eben auf "Didn't get a session ID" - darum habe ich das lange 500er auch mit reingenommen, einzig "unschön" ist, das man hier natürlich die IP anpassen muss ... aber gut, macht man einmal pro Gerät.

gruss
Jens
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 17 März 2022, 07:02:24
Hallo Jens,

Du kannst statt eq den Match-Operator verwenden und die IP-Adresse durch Wildcards ersetzen. Dann wird es allgemeiner.

Viele Grüße
Boris
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 17 März 2022, 08:24:18
mächtiges bada bäng  ;D

danke Boris, der ist gut!

isON {if (ReadingsVal($name,"lastReadout","") =~ /values captured in/) {return 1} else {return 0}}

so kann ich auf den gleichbleibenden teil des positiven readings gehen, und unterstellen "wenn du keine werte bekommst, bist du nicht da" ;)

gruss
Jens
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 17 März 2022, 09:03:17
leserlicher (ungetestet):

isON { ReadingsVal($name,"lastReadout","") =~ /values captured in/ ? 1 : 0 }
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 17 März 2022, 09:09:28
Hallo alle Mitleser,

Gedanken eines Moderators:

Zu ein paar Modulen bilden sie Megathreads und die sind für jemanden, der erst neu anfängt, sich mit dem Modul zu beschäftigen, nicht wirklich brauchbar. Und die Abonennten der Megathreads müssen/dürfen alles mitlesen, ob sie das aktuelle Thema nun interessiert oder nicht.

Jetzt haben wir ein eigenes Board für FHEMapp. Wäre es da nicht sinnvoller, für FHEMapp zu der Regel "1 Thema - 1 Thread" zu wechseln und neue Threads für neues Thema zu eröffnen?

Und hier abzuschließen?

Viele Grüße
Boris
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 17 März 2022, 17:02:53
Zitat von: Dr. Boris Neubert am 17 März 2022, 09:09:28
Hallo alle Mitleser,

Gedanken eines Moderators:

Zu ein paar Modulen bilden sie Megathreads und die sind für jemanden, der erst neu anfängt, sich mit dem Modul zu beschäftigen, nicht wirklich brauchbar. Und die Abonennten der Megathreads müssen/dürfen alles mitlesen, ob sie das aktuelle Thema nun interessiert oder nicht.

Jetzt haben wir ein eigenes Board für FHEMapp. Wäre es da nicht sinnvoller, für FHEMapp zu der Regel "1 Thema - 1 Thread" zu wechseln und neue Threads für neues Thema zu eröffnen?

Und hier abzuschließen?

Viele Grüße
Boris

Hallo Boris,

ich unterstütze deinen Vorschlag. Hast du noch einen Tipp für die Umstellung? Sollte ich alle aktuellen Threads sperren? Wo könnte ich informieren, dass für jedes neue Thema bitte ein neuer Thread erstellt werden soll?
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: draddy am 17 März 2022, 20:10:44
ik klink mir ma ein ...

würde hier  in den dicken ein "Letztes Post" machen wo genau das drin steht und dann zu machen.

und ein kleiner Sticky im Unterforum "Bitte pro Thema einen Beitrag erstellen" ;)
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: Dr. Boris Neubert am 17 März 2022, 20:13:51
Zitat von: draddy am 17 März 2022, 20:10:44
und ein kleiner Sticky im Unterforum "Bitte pro Thema einen Beitrag erstellen" ;)

Ja genau, oder sogar allgemeiner "Wie wird dieses Board benutzt?" mit Hinweisen, Tips, Links zu der FHEMApp-Doku usw. und dann anpinnen.
Titel: Antw:Fragen zur Konfiguration von Templates
Beitrag von: jemu75 am 19 März 2022, 10:33:44
Für eine bessere Übersicht im Bereich FHEMApp habe ich diesen Thread geschlossen.

Bitte sucht zuerst nach Stichworten in diesem Forenbereich und antwortet im jeweiligen Thread, zu dem euer Thema passt