Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

Kopplung LCN mit IP-Symcon

Benutzeravatar

Uwe
...
Beiträge: 14249
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 13 Mal
Danksagung erhalten: 56 Mal
Kontaktdaten:

#31 RE: Kopplung LCN mit IP-Symcon

Beitragvon Uwe » Mo 8. Jan 2007, 00:10

Nach dem "Umbau" auf den Server im Keller wollte er beim ersten Mal auch nicht, auf meinem Büro-PC haben weitere Versuche auch ohne Änderung gefunzt.

Ich hätte jetzt mit den PCK-Befehlen in den Scripten nicht so die Probleme, wenn meine (noch sind es) Versuche allerdings abschweifen (z.B. nach Text-to-Speech) - dann tue ich mich "etwas" schwer.
Muß ich da in den Instances noch was(wie) verknüpfen. Wie kann ich dann der Variablen eines Binärkontaktes das "Reden" beibringen (ein Script dazu schreiben?)?

Des weiteren etwas für die Zukunft. Könnte ich denn auch (über WEB) auf eine zweite LCN-Anlage zugreifen (es kommen gleiche Modul-IDs wie bei mir vor) und von dort auch Teile bei mir anzeigen.
Zuerst interessant wäre (@Ralf: noch mal erinnern ;-)) der "Watchdog" = auf einem LCN-Lämpchen bei mir anzeigen, ob die "ferne" Anlage überhaupt online ist (= PC läuft).

Ich entdecke zur Zeit Möglichkeiten, an die ich vorher auch nicht im Ansatz gedacht habe.

Grüße, Uwe
----------------o00o----'(_)'----o00o---------------------


Themenersteller
rk
Lord Forum
Lord Forum
Beiträge: 1175
Registriert: Mo 3. Jun 2002, 23:15
Hat sich bedankt: 2 Mal

#32 RE: Kopplung LCN mit IP-Symcon

Beitragvon rk » Mo 8. Jan 2007, 04:30

[zitat]Original von Uwe ... Versuche allerdings abschweifen (z.B. nach Text-to-Speech) - dann tue ich mich "etwas" schwer.
Muß ich da in den Instances noch was(wie) verknüpfen. Wie kann ich dann der Variablen eines Binärkontaktes das "Reden" beibringen (ein Script dazu schreiben?)?
[/zitat]

Ja, du must die notwendigen Instances anlegen. Genaueres eventuell heute abend, jetzt muss ich zum Bahnhof.

[zitat]Original von Uwe
Des weiteren etwas für die Zukunft. Könnte ich denn auch (über WEB) auf eine zweite LCN-Anlage zugreifen (es kommen gleiche Modul-IDs wie bei mir vor) und von dort auch Teile bei mir anzeigen.
Zuerst interessant wäre (@Ralf: noch mal erinnern ;-)) der "Watchdog" = auf einem LCN-Lämpchen bei mir anzeigen, ob die "ferne" Anlage überhaupt online ist (= PC läuft).[/zitat]

Du könntest auch eine entfernte Anlage anzeigen, wenn du über das Internet an die PCHK kommst. Allerdings kann das Script sinnvoll nur mit einem COM Port umgehen. Außerdem werden die Variablen ja z.B. gemäß MA1 angelegt. Das klappt natürlich auch nur einmal. Du müsstest den COM Port und die Register Variable zweimal anlegen und das Script auch noch einmal anlegen. Und im Script bei der "Modul-Benamsung" etwas einfügen, damit nicht die gleichen Variablen von beiden Scripten verwendet werden.

Grundsätzlich würdest du sagen "...es geht". Ich habe ja auch schon mal eine Leuchte von dir in meinem Designer visualisiert ;-).


Der "Watchdog" ist einfach ;-). Den LCN-Teil kannst du dir vermutlich denken.

Code: Alles auswählen

 LED 2 flackern (macht LCN)!
*/

//GlobalDefines lesen
include_once(IPS_GetKernelDir() . "scriptsGlobalDefines.ips.php");

$debug = false; // local debug

$TX_BUF = ">M000050.ZS30000".chr(10);
$result = COMPort_SendText(LCN_Port, $TX_BUF);
if ($debug)
   IPS_LogMessage("LCN_ServerWatchdog: ", "Zähler rckgesetzt " . $TX_BUF  . "  result: ".$result);

?>


Themenersteller
rk
Lord Forum
Lord Forum
Beiträge: 1175
Registriert: Mo 3. Jun 2002, 23:15
Hat sich bedankt: 2 Mal

#33 RE: Kopplung LCN mit IP-Symcon

Beitragvon rk » Mo 8. Jan 2007, 19:34

Zum TTS kannst du dir mal http://www.ipsymcon.de/wiki/index.php/Text_to_Speech und http://www.ipsymcon.de/wiki/index.php/TTS_Speak ansehen.


Das IPS-Script müsste ungefähr so aussehen:

Code: Alles auswählen

...
//GlobalDefines lesen
include_once(IPS_GetKernelDir() . "scriptsGlobalDefines.ips.php");

$debug = true; // local debug

$Status= GetValueInteger( "M020A1");

if ( $Status == 0 ) {
   TTS_Speak(TTS, "Leuchte Büro ist ausgeschaltet");
} else {
   TTS_Speak(47011, "Leuchte Büro ist eingeschaltet");
}


Entweder TTS in der GlobalDefines definieren oder die InstanceID eintragen.

Ungetestet, ich habe kein IPS dabei ;-).

Benutzeravatar

Uwe
...
Beiträge: 14249
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 13 Mal
Danksagung erhalten: 56 Mal
Kontaktdaten:

#34 RE: Kopplung LCN mit IP-Symcon

Beitragvon Uwe » Di 9. Jan 2007, 02:11

Danke, das Hündchen rennt :-O

Nur mein Sam hat etwas Akzent, da musste ich mal nach was anderem (deutschen) suchen, Stefan gefällt mir besser.

Und was üben wir morgen?
Ich würde mir das mit den Temperaturen gerne mal anschauen.
Wenn ich das richtig gesehen habe, liest du alle (T)var aus und wertest sie aus, richtig?
Ich habe meine Temp.s immer in der R1var, in der Tvar sind Zählwerte oder der Lichtsensor.
Wenn ich die Module einzeln(Gruppe) bestimme und auswerte ... geht das?

Mein IPS sollte per Fernbedienung erreichbar sein ;-) (anderer Port (!) )

Grüße, Uwe
----------------o00o----'(_)'----o00o---------------------

Benutzeravatar

Uwe
...
Beiträge: 14249
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 13 Mal
Danksagung erhalten: 56 Mal
Kontaktdaten:

#35 RE: Kopplung LCN mit IP-Symcon

Beitragvon Uwe » Di 9. Jan 2007, 18:15

Tolle Sache, dies TTS ...

Code: Alles auswählen

 
 $datum = getdate();
if($datum[weekday] == "Monday") { $datum[weekday] = "Montag"; }
if($datum[weekday] == "Tuesday") { $datum[weekday] = "Dienstag"; }
if($datum[weekday] == "Wednesday") { $datum[weekday] = "Mittwoch"; }
if($datum[weekday] == "Thursday") { $datum[weekday] = "Donnerstag"; }
if($datum[weekday] == "Friday") { $datum[weekday] = "Freitag"; }
if($datum[weekday] == "Saturday") { $datum[weekday] = "Samstag"; }
if($datum[weekday] == "Sunday") { $datum[weekday] = "Sonntag"; }

//bringt mir

 if ( $Status == 0 ) {
   TTS_Speak(47899, "Heute ist $datum[weekday] der $datum[mday].$datum[mon].$datum[year]. Es ist $datum[hours]:$datum[minutes] Uhr. ");
} else {


aber

Code: Alles auswählen

 $Temp = GetValueFloat ("M021.temp");

// bringt keinen "Klartext"

 if ( $Status == 0 ) {
   TTS_Speak(47899, "Es sind $Temp  °");


Mache ich was falsch, oder ist der Wert der Variablen (obwohl ind der Liste der richtige Wert steht) wirklich so "zickig"?

Grüße, Uwe
----------------o00o----'(_)'----o00o---------------------


Themenersteller
rk
Lord Forum
Lord Forum
Beiträge: 1175
Registriert: Mo 3. Jun 2002, 23:15
Hat sich bedankt: 2 Mal

#36 RE: Kopplung LCN mit IP-Symcon

Beitragvon rk » Di 9. Jan 2007, 18:26

Du musst den Float-Wert in einen String umwandeln, da TTS nur Strings vorlesen kann.

strval($Temp);

schau dir mal http://www.selfphp.de/funktionsuebersicht/index.php an.

Benutzeravatar

Uwe
...
Beiträge: 14249
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 13 Mal
Danksagung erhalten: 56 Mal
Kontaktdaten:

#37 RE: Kopplung LCN mit IP-Symcon

Beitragvon Uwe » Di 9. Jan 2007, 18:45

da komme ich jetzt grade nicht mit ...

Die Variable "$Temp" liest er mir vor (als lustiges Zahlenspiel) - wenn ich die umwandle, wo steht (oder wie heißt dann die Variable), die er vorliest.
----------------o00o----'(_)'----o00o---------------------


Themenersteller
rk
Lord Forum
Lord Forum
Beiträge: 1175
Registriert: Mo 3. Jun 2002, 23:15
Hat sich bedankt: 2 Mal

#38 RE: Kopplung LCN mit IP-Symcon

Beitragvon rk » Di 9. Jan 2007, 20:47

Sorry, mein Fehler. Ich hätte lesen sollen :-O.

So ist das $Temp Teil des Strings, du willst aber den Inhalt hören. Du musst die Strings verkoppeln ;-).

TTS_Speak(47899, "Es sind " . $Temp . "°");

Bekommst du wirklich das "°" vorgelesen?

Benutzeravatar

Uwe
...
Beiträge: 14249
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 13 Mal
Danksagung erhalten: 56 Mal
Kontaktdaten:

#39 RE: Kopplung LCN mit IP-Symcon

Beitragvon Uwe » Di 9. Jan 2007, 21:25

Wenn ich da (so wie in der Variablen-Liste auch der Eintrag ist) 21,6 reinschreibe, dann liest er:

"Es sind einundzwanzig komma sechs Grad"

Mit
$Temp = GetValueFloat ("M021.temp");
$Temp1= strval ($Temp);
.
TTS_Speak(47899, "Es sind $Temp1 °");

liest er: " Es sind zweiundzwanzgtausendsechshundert null null null achunddreißigtausendeinhundertsiebenundvierzig Grad"
Das muss er irgendwo aus dem M021.temp String holen, ich "sehe" aber deine Umsetzung noch nicht so ganz ;-)

Das wäre (nach meinen momentanen Gedanken) der "einfache" Eiswarner am Morgen ... die Erweiterung wäre "es regnet (nicht)"

[hr]
Mit meinen Summen kämpfe ich auch noch ...
Olli"s Vorschlag aus dem IP-Symcon-Forum

habe ich versucht so umzusetzen


Leider bleibt der für mich sichtbare Eintrag in der Variablen "LCN_Summe_TesT_Integer" immer auf 0.
Bestimmt ein Syntax-Fehler von meinem Anfänger-Schlauch, auf dem ich mal wieder stehe :-O

[hr]
Grüße, Uwe
----------------o00o----'(_)'----o00o---------------------


Philipp
Lord Forum
Lord Forum
Beiträge: 1987
Registriert: Mi 29. Mär 2006, 12:06

#40 RE: Kopplung LCN mit IP-Symcon

Beitragvon Philipp » Di 9. Jan 2007, 21:27

Guten Abend,

nach einem interessanten Gespräch mit Ralf (Danke! :-) ) gehöre ich nun auch zu den IPSYMCON Usern. :-)

Und getreu nach dem Motto "Entdecke die Möglichkeiten" bin ich mal gespannt was ich bei mir so alles umsetzen kann.

Gruß Philipp - Der auf seinen Lizenz-Key wartet :-O :-O


Zurück zu „Eigenproduktionen SW“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 39 Gäste