smartVISU - allgemeine Fragen

Begonnen von Jojo11, 02 Februar 2015, 18:57:43

Vorheriges Thema - Nächstes Thema

fhainz

Um readings, die nicht in der setlist drinstehen mit setreading zu schreiben hab ich mir einen eigenen converter gebaut.
Ich kann ihn später/heute abend posten. Soweit ich mich erinnern kann, habe ich aber nur set mit setreading ersetzt.

Cybers

@Jörg:

mode: item
device: Solltemperatur
reading: solltemperatur
converter: Direct
cmd set: state

bei cmd set hatte ich auch schon "solltemperatur" statt "state" drin. Damit passierte aber das gleiche.

Gruß, Sascha
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

herrmannj

Hi

bei cmd set hatte ich auch schon "solltemperatur" statt "state" drin. Damit passierte aber das gleiche.
Das wäre falsch ... Ist denn " "solltemperatur" ein userreading ?  (falsch weil sollte gehen :) )

geht über die fhem cmdline das: "set Solltemperatur solltemperatur 20" ?

vg
jörg

fhainz

So sieht mein converter dafür aus.
sub DirectSetReading(@)
{
  my ($param) = @_;
  my $cmd = $param->{cmd};
  my $gad = $param->{gad};
  my $gadval = $param->{gadval};

  my $device = $param->{device};
  my $reading = $param->{reading};
  my $event = $param->{event};
 
  my @args = @{$param->{args}};
  my $cache = $param->{cache};

  if ($param->{cmd} eq 'get')
  {
    $event = ($reading eq 'state')?main::Value($device):main::ReadingsVal($device, $reading, '');
    $param->{cmd} = 'send';
  }
  if ($param->{cmd} eq 'send')
  {
    $param->{gad} = $gad;
$param->{gadval} = $event;
$param->{gads} = [];
    return undef;
  }
  elsif ($param->{cmd} eq 'rcv')
  {
$param->{result} = main::fhem("setreading $device $reading $gadval");
$param->{results} = [];
    return undef;
  }
  elsif ($param->{cmd} eq '?')
  {
    return 'usage: Direct';
  }
  return undef;
}


Grüße

Cybers

ja "solltemperatur" ist ein Userreading. Wenn ich set Solltemperatur solltemperatur 20 eingebe, wird das Reading "state" auf "solltemperatur 20" gesetzt.

So ist das ganze in meiner fhem.cfg angelegt. In Fhem läuft es auch zuverlässig und ich kann das Reading "solltemperatur" mit + und - zuverlässig verändern.

define Solltemperatur dummy
attr Solltemperatur icon temp_temperature
attr Solltemperatur room Heizung
attr Solltemperatur stateFormat {sprintf("Wert: %.0f",ReadingsVal("Solltemperatur","solltemperatur",0))}
attr Solltemperatur webCmd hoch:runter

define Dummy2 dummy
attr Dummy2 devStateIcon on:rc_MINUS@red:off off:rc_MINUS@blue:on
attr Dummy2 room Heizung
attr Dummy2 webCmd on:off

define zaehlerrunter notify Dummy2 {\
  my $Wert=ReadingsVal("Solltemperatur","solltemperatur",0);;\
  if (($EVENT eq "on") && ($Wert >= 17)) {\
    $Wert = $Wert-1;;\
    fhem("setreading Solltemperatur solltemperatur $Wert");;\
  }\
  if (($EVENT eq "off") && ($Wert >= 17)) {\
    $Wert = $Wert-1;;\
    fhem("setreading Solltemperatur solltemperatur $Wert");;\
  }\
}

define Dummy3 dummy
attr Dummy3 devStateIcon on:rc_PLUS@red:off off:rc_PLUS@blue:on
attr Dummy3 room Heizung
attr Dummy3 webCmd on:off

define zaehlerhoch notify Dummy3 {\
  my $Wert=ReadingsVal("Solltemperatur","solltemperatur",0);;\
  if (($EVENT eq "on") && ($Wert <= 25)) {\
    $Wert = $Wert+1;;\
    fhem("setreading Solltemperatur solltemperatur $Wert");;\
  }\
  if (($EVENT eq "off") && ($Wert <= 25)) {\
    $Wert = $Wert+1;;\
    fhem("setreading Solltemperatur solltemperatur $Wert");;\
  }\
}


Gruß, Sascha
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

herrmannj

wird denn "solltemperatur" für cmd set im dropdown vom Editor angeboten ?

Cybers

nein, da wird nur state angeboten.
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

marvin78

Na dann ist der oben gepostete converter von fhainz was für dich.

Cybers

wo muß der Converter denn hin?
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

marvin78


herrmannj

Zitat von: marvin78 am 24 März 2015, 10:07:36
Na dann ist der oben gepostete converter von fhainz was für dich.

völlig korrekt -  ich hab das falsch interpretiert (gelesen):
Zitatset Solltemperatur solltemperatur 20

eingebe, wird das Reading "state" auf "solltemperatur 20" gesetzt.

Cybers

Super. Danke, das geht jetzt. Jetzt habe ich nur noch eine Kleinigkeit. Der Wert des Readings "sollwert" wird auch in "STATE" von Internals geschrieben. Allerdings wird der Wert hier auf eine ganze Zahl gerundet und die 0,5er Schritte sind weg. Code siehe oben.

Gruß, Sascha
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

redlav

Zitat von: Carsten am 16 Februar 2015, 10:37:43
Hallo,

prinzipiell funktioniert das. Bei mir aber ist es so, dass die verwendeten Kalender relativ wenig Termine enthalten ( Müll, Geburtstage und vielleicht noch 1-2 andere Termine pro Woche ). Wenn ich z.B. 10 Termine anzeigen lasse, ist die Wahrscheinlichkeit hoch, dass da mehrfach der wöchtenliche Restmüll auftaucht. Da mich der Mülltermin in 3 Wochen aber nicht interessiert, fände ich es schön, wenn ich nur Termine der nächsten 7 Tage sehe. Wenn das 10 sind, darf der Kalender natürlich auch 10 anzeigen. Sind es weniger, fände ich es schön, wenn aus Platzgründen dann auch weniger angezeigt werden. Daher hatte ich es mit 7 Tagen für den days-Parameter versucht.

Gruß

Carsten

Hallo Carsten,

im Anhang findest du eine neue ical.php. Kannst du damit mal ausprobieren, ob die Ergebnisse so sind,
wie du sie erwartest?

Gruß Norbert

Thargor

Hallo Norbert,

durch dein Post bin ich gerade darauf gestoßen, dass du eine ical Einbindung in Smartvisu gepostet hast. Ich habe gerade versucht das bei mir einzubauen. Wenn ich in den smartvisu Einstellungen unter Calendar "offline" einstelle, dann kann ich den Kalender mit zufälligen Einträgen sehen.
Leider schaffe ich es nicht meinen eigenen Kalender einzubinden. Weder der lokale Owncloud Server klappt, noch die Einbindung einer lokalen ics Datei (per http- oder Direkt-Zugriff über absolute Pfadangaben) funktioniert bei mir. Der Kalender bleibt stehts leer.
Wie kann ich denn am Besten das Problem einkreisen/debuggen. Kannst du mir einen Tipp geben?

Kann man auch eine lokale ICS Datei angeben? Oder muss das über http laufen?

Ich hab schon einiges durch, letzter Versuch war zum Beispiel:

calendar_url = 'http://192.168.0.71/smartvisu/pages/neueweide/calendar.ics' (Zugriff über Browser funktioniert)
calendar_service = 'ical'

Vielen Dank!
Gruß Lars

redlav

Hallo Lars,

der dummy-Kalender sagt nichts über die Funktion des ical-Scripts aus, da dies ein Bestandteil von SV ist. Ich habe gerade mit einer lokalen Datei getestet und festgestellt, das es tatsächlich nicht Funktioniert :( Die Kalenderöffnung ist bei einer lokalen Datei eine andere.
Dein Browser öffnet die lokale Datei als Download vermute ich!? Das ical-Script benöigt einen CalDav-Server oder einen anderen Kalenderserver (Google), sonst tut es bisher nicht. Werde ich aber mal nach eine Lösung suchen.

Liegt dein Kalender den lokal, oder war das nur einer deiner Versuche?
Wenn du auch einen http-Kalender (z.b. Google) hast und der nicht funktioniert, kannst du mal im Firebug auf das +-Zeichen vor der Kalenderzeile und dann da auf Antwort klicken.

Die Zeile sollte so aussehen:
http://xxx.xxx.xxx.xxx/smartvisu/lib/calendar/service/ical.php?url=Termine.ics%28%23ff69b4%2Cscene_party%29&count=20&days=7
Was steht dann in Antwort?

Gruß Norbert