Neueste Beiträge

#1
MQTT / Aw: MQTT2 für Worx Landroid Mä...
Letzter Beitrag von efyzz - 30 Mai 2024, 23:38:12
Moin,

die Verbindung zum Landroid lief bei mir jetzt seit 4 Monaten problemlos, doch vor ein paar Tagen war der MQTT_Worx plötzlich disconnected.

Soweit erst mal nicht schlimm. Aber damit ich es nächstes Mal mitbekomme, habe ich mir ein Monitoring gebastelt:
defmod MQTT_Worx_Ueberwachung monitoring MQTT_Worx:disconnected MQTT_Worx:opened
attr MQTT_Worx_Ueberwachung errorFuncAdded {fhem("set MQTT_Worx connect");;
fhem("set TelegramBot message Error: MQTT_Worx disconnected! Versuche reconnect.")}
attr MQTT_Worx_Ueberwachung errorWait 1200
attr MQTT_Worx_Ueberwachung room Garten
attr MQTT_Worx_Ueberwachung warningFuncAdded {fhem("set MQTT_Worx connect");;
fhem("set TelegramBot message Warning: MQTT_Worx disconnected! Versuche reconnect.")}
attr MQTT_Worx_Ueberwachung warningWait 600

Das funktioniert soweit, das Monitoring reagiert auf "disconnected" und verbindet den MQTT_Worx neu. Allerdings wird das Monitoring nicht zurückgesetzt. Ich habe den Eindruck, dass der Wechsel des State zu "opened" keinen Trigger auslöst. Ein notify, das ich testhalber erstellt habe, reagiert auch nicht darauf. Ebenso wird der State im Browser erst auf "opened" aktualisiert, wenn man die Seite neu lädt. Der Wechsel zu "disconnected" wird hingegen sofort angezeigt.

Woran könnte das liegen?

Danke im Voraus!
#2
Homematic / Aw: HMLAN defekt. Neues HMLAN ...
Letzter Beitrag von stebar_ - 30 Mai 2024, 23:25:45
Hallo zusammen,

ich hab nun auch mit dem HM LAN diverse Verbindungsprobleme gehabt, der Tausch der vier Kondensatoren und des Netzteils konnte die Probleme beheben.

Viele Grüße
#3
Solaranlagen / Aw: fhempy: rct_power (RCT-Pow...
Letzter Beitrag von loescher - 30 Mai 2024, 22:33:39
Versuche doch mal
set RCT batt_soc_max 0.60LG,
Stephan.
#4
ESP Familie / Aw: [aufgegeben] ESPEasy in fh...
Letzter Beitrag von Wiesenfreund - 30 Mai 2024, 21:33:10
Danke Otto,
ich habe nochmals die Module installiert, hatte schon alles gelöscht und begonnen auf MQTT umzustellen. Es funktioniert wie von dir beschrieben. Ich hatte in DEF versuchsweise die IP der Synologie DS918 eingetragen, was nicht funktionieren konnte. Ein Satz von dir und ich habs kapiert. In allen per Autocreate erstellten Devices muss DEV auf die IP-Adresse des ESPEasy geändert werden.

Besten Dank,
Eberhard 
#5
Solaranlagen / Aw: fhempy: rct_power (RCT-Pow...
Letzter Beitrag von Christoph.A - 30 Mai 2024, 21:18:44
Zitat von: Christoph.A am 20 Mai 2024, 00:20:03Hallo,
ich möchte den SoC über ein at bis 11:00 auf 60% begrenzen. Aber irgend wie bekomme ich es über ein set nicht hin.
define soc_redused at *06:30:00 { if (($month >= 5) || ($month <= 9)) { fhem("set RCT power_mng.soc_max 0.60") }}
attr soc_redused room setSoc
define soc_standard at *11:00:00 { if (($month >= 5) || ($month <= 9)) {fhem("set RCT  power_mng.soc_max 0.95") }}
attr soc_standard room setSoc

Ich brauche einen Tipp, wo mein Fehler liegt. Danke.

Die Parameter von rctclient habe ich mal in ein Excel mit PowerQuery eingelesen. Damit kann man sich beliebige device_readings_json zusammenbauen und bestehende auswerten.
Hallo, ich würde mich sehr über eure Antworten freuen - vielen lieben Dank
#6
Anfängerfragen / Aw: Jeelink und Nanocul discon...
Letzter Beitrag von Otto123 - 30 Mai 2024, 21:17:06
Hi,

zeig mal ls -lha /dev/ttyUSB1
Gruß Otto
#7
ZWave / Aw: Aeotec Nano Dimmer ZW111 X...
Letzter Beitrag von Damu - 30 Mai 2024, 21:14:13
ZitatIch wuerde die BitSet Tags durchlesen, und alles mit dem gleichen Label (^[+0-9]+ wird ignoriert) zusammenfassen.
Damit wuerde es folgende Felder geben:

Wo finde ich das??

Habe jetzt gesehen wie das mit den Bitset dargestellt wird.

Zitat<Value bitmask="7" genre="config" index="9" label="9_Slave Mode" size="1" type="bitset"  value="7">
         <Help>
            "Stupid" mode ( bit 2 = 1 ):
               - has higher priority then slave mode.
               - LED is permanently on ( for simple power wall switch controlling ).
            Slave mode ( bit 0 = 1 ):
               - only if included in Z-Wave network
               - useful for controlling via third-party sensor
               - LED is directly controlled via Z-Wave, internal sensors are not used for controlling it
            Central unit checking ( bit 1 = 1 ): ( useful especially for controlling via gateway )
               When slave bit is 0:
               - device signalises fail of lifeline connection ( if this bit is zero, fail of lifeline connec-
               tion is not signalised )
               When slave bit is 1:
               - device checks presence of Z-Wave device in lifeline group ( gateway ). If it is not
               present for 2 minutes ( testing repeatedly every 30 seconds ) device switches
               to normal mode in the same way as after the end of local disabled mode
               ( ON_BEHAVIOUR )
               - the device checks every 1 minute for recovery of Lifeline connection.
               - if no lifeline specified - it works in normal mode      
         </Help>
     <BitSet id="1">
      <Label>Slave</Label>
      <Help>Slave Mode</Help>
      </BitSet>
     <BitSet id="2">
      <Label>Central unit checking</Label>
        <Help>Central Mode</Help>
      </BitSet>
      <BitSet id="3">
        <Label>Stupid</Label>
        <Help>Stupid Mode</Help>
      </BitSet>
         </Value>   
Die drei Label finde ich nirgens (<Label>Central unit checking</Label>),(<Label>Slave</Label>),(<Label>Stupid</Label>).

Ist die Darstellung so gewollt?

Ist es Möglich ein Parameter mit vier Byte jeden Byte Block einzeln auszulesen und zu beschreiben?
Dann würde er ein Parameter 4.1 bis 4.4 geben?


#8
Verbrauchsmessung / Aw: Anzeige und Berechnung der...
Letzter Beitrag von Otto123 - 30 Mai 2024, 21:08:28
Ich habe seit kurzem auch einen SGM C8 Zähler und die Pin zum auslesen der Detailwerte. Angeschlossen ist er mit einem bitshake Tasmota und MQTT2.
Die einzelnen Wirkleistungen zu ermitteln ist nicht schwer. Ich habe ein paar Subroutinen in eine myUtils gepackt:
  • decode_j - decodiert den JSON String in einer fehlertoleranten Form.
  • deg2rad  - da cosinus in Perl mit Radianten rechnet muss man die Grad in Rad umwandeln.
  • active_power - rechnet die übliche Formel für Wirkleistung P = U * I * cos(phi)
sub decode_j {
# decode_json() croaks on error, this function should prevent fhem crashes
# https://metacpan.org/pod/Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval
  use JSON qw(decode_json);
  my $maybe_json = shift;
  my $data;
  if ( eval { $data = decode_json($maybe_json); 1 } ) { return $data }
  Log3(undef, 1, "JSON decoding error, >$maybe_json< seems not to be valid JSON data: $@");
  return q{}
}

sub deg2rad {
  # degree nach radiant
  # https://www.perlmonks.org/?node_id=221674
  my $pi = 3.1415926535897932384626433832795;
  ($_[0]/180) * $pi
  }

sub active_power {
  # active_power (Spannung, Strom, Phasenwinkel)
   $_[0] * $_[1] * cos(deg2rad($_[2]))
  }
Anstatt json2nameValue($EVENT) rufe ich sgm_r($EVENT) auf. Die Readings kommen damit gleich ohne Vorsilbe zurück:
sub sgm_r {
    my $EVENT = shift;
my $hashref = decode_j ($EVENT);
my $key;
    # nimm die referenz mit Hash
    for (sort keys %$hashref){
    if ( ref $hashref->{$_} eq 'HASH'){$key=$hashref->{$_}}
}
$key->{"power_sum"} = 0;

for (1..3) {
      $key->{"power_L$_"} = ($_ == 1) ? active_power ( $key->{'Voltage'},$key->{'Current'},$key->{'phase_angle_L1'} ) :
    active_power ( $key->{"Voltage_L$_"},$key->{"Current_L$_"},$key->{"phase_angle_L$_"} );
          $key->{"power_sum"} = $key->{"power_sum"} + $key->{"power_L$_"};
    }
  return \%{$key};
}
Man kann das auch "außerhalb" verwenden; Beispiel in der FHEM Kommandozeile:
{
  my $r;;
  my $dev = 'MQTT2_tasmota_8DC170';;
  for (1..3) {
     $r="$r power_L$_ = " . active_power (ReadingsVal($dev,"SGM_Voltage_L$_",ReadingsVal($dev,"SGM_Voltage","")),ReadingsVal($dev,"SGM_Current_L$_",ReadingsVal($dev,"SGM_Current","")),ReadingsVal($dev,"SGM_phase_angle_L$_","") )."\n"
  }
  return $r
}
Die Summe weicht allerdings immer etwas von der Summe ab die Zähler direkt liefert. Sicher lassen sich diese Differenzen irgendwie erklären.
#9
DOIF / Aw: DOIF Rollladensteuerung mi...
Letzter Beitrag von Damian - 30 Mai 2024, 21:06:39
Die Wochentag-Funktionalität ist recht ausführlich hier beschrieben: https://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung

Hast du dort schon reingeschaut?

WE sind Wochenenden und Feiertage, wie in FHEM üblich (entspricht der $we Variablen).

Das Gegenteil ist AT für Arbeitstage.

Wenn die Helligkeitssteuerung unabhängig funktionieren soll, dann brauchst du eher eine "or"- und nicht eine "and"-Verknüpfung.
#10
Sonstiges / Aw: Neue Versionen und Support...
Letzter Beitrag von tomseitz320 - 30 Mai 2024, 21:00:08
You saved my day (and my garden)!!! :)
attr HumidSens1 obj-h0-reading ModbusAddress
attr HumidSens1 obj-h0-set 1
danach noch ein Set ...
und läuft!