Neueste Beiträge

#1
Anfängerfragen / Aw: reading aus mehreren readi...
Letzter Beitrag von ChrisA4 - 07 Mai 2024, 21:52:01
Sorry hatte gedacht ich hätte es einfach gemacht in meinem ersten beitrag tsja dann wol doch nicht

Also fang ich nochmals an

Habe folgenden dev erzeugt von einer CMI der Technischen Alternative

define COE_Node_cmi_2 COE_Node 2
attr COE_Node_cmi_2 alias Poolsteuerung
attr COE_Node_cmi_2 group Pool
attr COE_Node_cmi_2 readingsConfigAnalog 1=Kollektor_Temperatur_Pool_Solar 2=Pool_Wasser_Temperatur 3=Pool_Aussen_Temperatur
attr COE_Node_cmi_2 readingsConfigDigital 1=Pool_Pumpe_100 2=Pool_Pumpe_90 3=Pool_Pumpe_70 4=Pool_Pumpe_40 5=SchachtVentil_Gartenhaus 6=Schachtventil_Pool 7=Pos_Meldung_SchachtVentil_Gartenhaus 8=Pos_Meldung_Schachtventil_Pool 9=Wasserstand_Sensor 10=Ventile_Wasserzuleitung 11=Umschaltung_Wassermessung_1 12=Umschaltung_Wassermessung_2 13=Umschaltung_Solar_Ladung_1 14=Umschaltung_Solar_Ladung_2 15=T_Max_Begrenzung
attr COE_Node_cmi_2 room Pool
attr COE_Node_cmi_2 stateFormat {"Pool Temperatur: ".ReadingsVal($name,"Pool_Wasser_Temperatur",0)." °C<br> "}
#   CFGFN     
#   DEF        2
#   FUUID      663a6e9f-f33f-c95d-2fa7-7c8ff2808c2edf05
#   IODev      cmi
#   LASTInputDev cmi
#   MSGCNT     177
#   NAME       COE_Node_cmi_2
#   NR         711
#   STATE      Pool Temperatur: 22.4 °C<br>
#   TYPE       COE_Node
#   cmi_MSGCNT 177
#   cmi_TIME   2024-05-07 21:39:14
#   eventCount 130
#   READINGS:
#     2024-05-07 21:35:41   Kollektor_Temperatur_Pool_Solar 12.4
#     2024-05-07 20:57:40   PoolPumpe       Error evaluating COE_Node_cmi_2 userReading PoolPumpe: Can't modify non-lvalue subroutine call of &main::ReadingsVal in scalar assignment at (eval 94947200) line 1, near "1  "100""
#syntax error at (eval 94947200) line 1, near "1  "100""
#
#     2024-05-07 21:27:40   Pool_Aussen_Temperatur 13.8
#     2024-05-07 20:11:08   Pool_Pumpe_100  0
#     2024-05-07 20:11:08   Pool_Pumpe_40   1
#     2024-05-07 20:11:08   Pool_Pumpe_70   1
#     2024-05-07 20:11:08   Pool_Pumpe_90   0
#     2024-05-07 21:38:41   Pool_Wasser_Temperatur 22.4
#     2024-05-07 20:11:08   Pos_Meldung_SchachtVentil_Gartenhaus 0
#     2024-05-07 20:11:08   Pos_Meldung_Schachtventil_Pool 1
#     2024-05-07 20:11:08   SchachtVentil_Gartenhaus 0
#     2024-05-07 20:11:08   Schachtventil_Pool 0
#     2024-05-07 20:57:40   Schachtventilstellung Gartenhaus
#     2024-05-07 20:11:08   T_Max_Begrenzung 0
#     2024-05-07 20:11:08   Umschaltung_Solar_Ladung_1 0
#     2024-05-07 20:11:08   Umschaltung_Solar_Ladung_2 0
#     2024-05-07 20:11:08   Umschaltung_Wassermessung_1 0
#     2024-05-07 20:11:08   Umschaltung_Wassermessung_2 0
#     2024-05-07 20:11:08   Ventile_Wasserzuleitung 0
#     2024-05-07 20:11:08   Wasserstand_Sensor 1
#     2024-05-07 20:11:07   state           defined
#   helper:
#     CAN_NODE_ID 2
#   hmccu:
#
setstate COE_Node_cmi_2 Pool Temperatur: 22.4 °C<br>
setstate COE_Node_cmi_2 2024-05-07 21:35:41 Kollektor_Temperatur_Pool_Solar 12.4
setstate COE_Node_cmi_2 2024-05-07 20:57:40 PoolPumpe Error evaluating COE_Node_cmi_2 userReading PoolPumpe: Can't modify non-lvalue subroutine call of &main::ReadingsVal in scalar assignment at (eval 94947200) line 1, near "1  "100""\
syntax error at (eval 94947200) line 1, near "1  "100""\

setstate COE_Node_cmi_2 2024-05-07 21:27:40 Pool_Aussen_Temperatur 13.8
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Pool_Pumpe_100 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Pool_Pumpe_40 1
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Pool_Pumpe_70 1
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Pool_Pumpe_90 0
setstate COE_Node_cmi_2 2024-05-07 21:38:41 Pool_Wasser_Temperatur 22.4
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Pos_Meldung_SchachtVentil_Gartenhaus 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Pos_Meldung_Schachtventil_Pool 1
setstate COE_Node_cmi_2 2024-05-07 20:11:08 SchachtVentil_Gartenhaus 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Schachtventil_Pool 0
setstate COE_Node_cmi_2 2024-05-07 20:57:40 Schachtventilstellung Gartenhaus
setstate COE_Node_cmi_2 2024-05-07 20:11:08 T_Max_Begrenzung 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Umschaltung_Solar_Ladung_1 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Umschaltung_Solar_Ladung_2 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Umschaltung_Wassermessung_1 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Umschaltung_Wassermessung_2 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Ventile_Wasserzuleitung 0
setstate COE_Node_cmi_2 2024-05-07 20:11:08 Wasserstand_Sensor 1
setstate COE_Node_cmi_2 2024-05-07 20:11:07 state defined


ich würde mir gerne div werte anzeigen lassen wie zb
die Pooltemperatur die ich ja geschaft habe
zustand der wassermessung, Sola Ladung, Wasserzufuhr usw
Unteranderem auch den Zustand der Pumpe bzw mit welcher Leistung diese läuft
Aber nicht 4x Pumpe sondern nur einmal Pumpe mit der jeweiligen lauf Leistung

Ich weis es sind noch kleinere fehler ind den readings der CMI bin noch dabei diese zu beseitgen
aber mir ging es halt um die ansicht

Danke für eure bemühungen
#2
Anfängerfragen / Aw: reading aus mehreren readi...
Letzter Beitrag von Beta-User - 07 Mai 2024, 21:51:33
Zitat von: betateilchen am 07 Mai 2024, 21:18:35Es scheitert halt mal wieder an der möglichst einfachen Formulierung der eigentlichen Aufgabe.
Ja, aber nur "bedingt""Eigentlich" hat der TE schon "irgendwie verständlich durchblicken lassen", was er "sehen" möchte - nur halt praktisch alle technischen Details nicht erwähnt, die man bräuchte, um eine tatsächlich "einfache" Lösung anzubieten.

Zitat von: betateilchen am 07 Mai 2024, 21:04:32Natürlich, am einfachsten per userReading.
Ob das nämlich "am einfachsten" (ggf. einfach nur im Sinne von "übersichtlichsten") ist, kann man m.E. erst in etwa abschätzen, wenn man weiß, wo bzw. wie die erwähnten Basisdaten in den Readings eigentlich herkommen.

Vermutlich irgendwas, was einen JSON-Blob schickt (oder seine Infos blödsinnig via MQTT auf mehrere Topics verteilt)...
Und _vermutlich_ will der User auch einen Regelkreis schaffen, also "irgendwas" an sein Device senden... (Bin mal gespannt, was es eigentlich ist, ggf. bitte auch neben dem "list/copy for forum" als "immerwährende Basis-Bringschuld" auch den Link zur Homepage des Projekts liefern...?).
#3
Anfängerfragen / Eventmap - KNX Dimmer mit Tune...
Letzter Beitrag von AlexSchei - 07 Mai 2024, 21:29:44
Moin!

Ich sitze jetzt seit mehreren Stunden vor meinem Problem. Ich konnte es jetzt eingrenzen auf das Attribut "eventmap".

Folgende Situation: 
KNX Dimmer von MDT. 
6 Gruppenadressen:
1. EinAus Schalten dpt1
2. EinAus Status dpt1
3. Dimmen dpt5.001
4. Dimmen Status dpt5.001
5. Tuneable White dpt7.600
6. Tuneable White Status dpt7.600

Das Device ist angelegt:
defmod Dimmer KNX 0/0/3:dpt1:EinAus:set:nosuffix \
0/0/4:dpt1:Status:listenonly:nosuffix \
0/0/5:dpt5.001:Dimmen:set:nosuffix \
0/0/6:dpt5.001:DimmStatus:listenonly:nosuffix\
0/0/7:dpt7.600:TW:set:nosuffix\
0/0/8:dpt7.600:TWStatus:listenonly:nosuffix

attr Dimmer devStateIcon devStateIcon off:li_wht_off:on on:li_wht_on:off 0.*:li_wht_off:on \d+.*:li_wht_on:off

attr Dimmer eventMap {\
usr=>{\
'^dimup'   => '" . sprintf("Dimmen %d",minNum(100,  ReadingsNum($NAME,"Dimmen",0) + 10)) . "', \
'^dimdown' => '" . sprintf("Dimmen %d",maxNum(0,    ReadingsNum($NAME,"Dimmen",0) - 10)) . "',\
'^twup'    => '" . sprintf("TW %d",    minNum(10000,ReadingsNum($NAME,"TW",    0) + 100)) . "', \
'^twdown'  => '" . sprintf("TW %d",    maxNum(0,    ReadingsNum($NAME,"TW",    0) - 100)) . "'\
}, \
fw=>{\
'^dimup'=> 'dimup', '^dimdown'=> 'dimdown','^twup'=> 'TWup', '^twdown'=> 'TWdown'\
}\
}

attr Dimmer stateCmd { \
if ($gadName eq 'DimmStatus') \
{     \
fhem ("sleep 0.05 quiet;;setreading $name Dimmen $state;;");; \
}\
elsif ($gadName eq 'TWStatus') \
{   \
fhem ("sleep 0.05 quiet;;setreading $name TW $state;;");; \
}\
elsif ($gadName eq 'EinAus') \
{\
my $val = ($state eq 'on')?'100':'0';;\
fhem ("sleep 0.05 quiet;;setreading $name Dimmen $val;;");;\
}   \
return $state;;\
}

attr Dimmer webCmd :dimup:dimdown:TWup:TWdown:Dimmen

attr Dimmer widgetOverride Dimmen@set:slider,0,5,100 TW@set:slider,1000,100,10000



setstate Dimmer 2700 K
setstate Dimmer 2024-05-07 20:46:25 DimmStatus 100 %
setstate Dimmer 2024-05-07 20:46:25 Dimmen 100 %
setstate Dimmer 2024-05-07 20:08:39 EinAus on
setstate Dimmer 2024-05-07 20:23:51 IODev KNX.MDTRouter.IO
setstate Dimmer 2024-05-07 20:08:39 Status on
setstate Dimmer 2024-05-07 20:46:28 TW 2700 K
setstate Dimmer 2024-05-07 20:46:28 TWStatus 2700 K
setstate Dimmer 2024-05-07 20:46:28 last-sender 1.2.77
setstate Dimmer 2024-05-07 20:46:28 state 2700 K

Das ganze ist diesem Beispiel entnommen: https://wiki.fhem.de/wiki/KNX_Device_Definition_-_Beispiele#Dimmer
Und ich habe des ergänzt durch den Tuneable White Code. Die Steuerung der Farbtemperatur per Slider funktioniert wunderbar. 

ABER:

Die beiden Schaltflächen TWup und TWdown geben folgende Fehlermeldung raus: 
invalid cmd: "set Dimmer TWup EinAus off" - ignored


Was sich auch im LogFile wiederfindet: 
2024.05.07 21:22:36 2: Dimmer [KNX_Set_dpt1 1043]: invalid cmd: "set Dimmer TWup EinAus off" issued - ignored



Meine Vermutung ist, dass die Funktion ReadingsNum nicht auf den Wert im Reading TW zugreift. Daher dann einen falschen Wert liefert. Ist diese Annahme richtig? 
Kann mir hierfür jemand helfen?

Viele Grüße
Alex



#4
Anfängerfragen / Aw: reading aus mehreren readi...
Letzter Beitrag von betateilchen - 07 Mai 2024, 21:18:35
Es scheitert halt mal wieder an der möglichst einfachen Formulierung der eigentlichen Aufgabe.

Ich habe oben in meiner ersten Antwort eine der vielen möglichen Lösungen ergänzt.

#5
Anfängerfragen / Aw: reading aus mehreren readi...
Letzter Beitrag von Beta-User - 07 Mai 2024, 21:17:05
Zitat von: ChrisA4 am 07 Mai 2024, 21:12:10doch werden sie
Aha....
Eigentlich willst du doch nur
"Pumpe=0", oder "Pumpe=40", oder ....
Aber wenn man nicht weiß, was wie geliefert wird und was ggf. für die Weiterverarbeitung gebraucht wird, ist es Kaffeesatz, womit wir bei https://forum.fhem.de/index.php?topic=71806.0 wären...
#6
Homematic / HmIP-BSL neue Firmware 2.02
Letzter Beitrag von Dirk070 - 07 Mai 2024, 21:13:09
Hallo zusammen,

kann eventuell schon jemand bestätigen, dass die BSL mit der neue Firmware 2.02 in FHEM weiterhin funktionieren? Hintergrund ist ein neuer Parameter, z.B. für "dauerhaft an" mit "CB=1".

Quelle:
https://homematic-forum.de/forum/viewtopic.php?f=58&t=82425&start=10

Danke Euch und schöne Grüße
Dirk
#7
Anfängerfragen / Aw: reading aus mehreren readi...
Letzter Beitrag von ChrisA4 - 07 Mai 2024, 21:12:10
doch werden sie

das sind meldungen von einer poolpumpe mit verschiedenen Leistungsstufen über einen Frequenzumformer

daß ich nicht 4x "Pumpe ......."

würde ich gerne 1x "Pumpe 100% lauf" oder "Pumpe 40% lauf" stehen haben
#8
Homematic / Aw: HomeBrewWired - Diskussion...
Letzter Beitrag von loetmeister - 07 Mai 2024, 21:06:59
Hi,

warum denn vorher ändern? Ist doch einfach neue Geräte einmalig in FHEM mit einer Adresse zu versorgen.. s.u.
Die Standardadresse 0x42FFFFFF sollte natürlich bei keinem Gerät dauerhaft genutzt werden  ;)

ZitatNeue "Homematic Wired Homebrew" Hardware in Betrieb nehmen:
  1. Neues Gerät flashen (ISP) oder per USB auf Arduino übertragen.

  2. Adresse per FHEM setzen: raw-Befehl an das Device schicken 406142000017
    ...setzt die Adresse auf 0x42000017

  3. Altes Gerät in FHEM löschen, "config" Taster kurz drücken - Gerät sollte mit neuer
    Adresse angelegt werden. ("config" Taster Betätigung nicht nötig mit Lib ab Nov. 2020)

Gruß,
Thomas
#9
Anfängerfragen / Aw: reading aus mehreren readi...
Letzter Beitrag von betateilchen - 07 Mai 2024, 21:04:32
Zitat von: ChrisA4 am 07 Mai 2024, 20:42:18gibt es überhaupt eine möglichkeit dies zu schaffen

Natürlich, am einfachsten per userReading.

Aber mich würde interessieren, wie diese vier readings an sich entstehen? Es macht doch wenig Sinn, drei readings überhaupt erst zu erzeugen, die gar nicht gebraucht werden.

defmod p dummy
attr p stateFormat Pumpe running% Lauf
attr p userReadings running:Pool_Pumpe_\d+:.* { $event =~ m/(\d+)/;; return $1}
#10
SVG / Plots / logProxy / Aw: Werte für Darstellung durc...
Letzter Beitrag von cs-online - 07 Mai 2024, 21:02:33
Danke euch beiden! Das hat mir sehr geholfen!!!

Grüße Christian