KNX: Wie DTP 19.001 senden?

Guten Tag,
wie sendet man das Date/Time Objekt? DTP 19.001

Vielen Dank

Mittels KNX_WriteDPT19(). Die erforderlichen Paramenter müssen teilweise berechnet werden.

Danke!
Mein KNX IP Router ist ausgefallen. Deswegen habe ich jetzt für die Beschattung kein Date/Time Objekt auf dem Bus.
Date und Time getrennt habe ich bereits aus dem Thread.
Aber wie würde es bei DTP19.001 aussehen? Symcon Doku ist hier leider nicht hilfreich.

Hi,
ich hab noch den Code - allerdings mit den alten EIB Befehlen:

<?php

 $GA_Datum = "0/1/0";
 $GA_Zeit = "0/1/1";

 //Nicht verändern
 $dateID = CreateKNXByIdent("Datum", $GA_Datum, "Date", "Standard");
 $timeID = CreateKNXByIdent("Uhrzeit", $GA_Zeit, "Time", "TimeOnly");

 EIB_Date($dateID, date("Ymd"));
 EIB_Time($timeID, date("His"));

 function CreateKNXByIdent($ident, $GA, $GF, $GI)
 {
    $iid = @IPS_GetObjectIDByIdent($ident, $_IPS['SELF']);
    if($iid === false)
    {
        $iid = IPS_CreateInstance("{D62B95D3-0C5E-406E-B1D9-8D102E50F64B}");
        IPS_SetParent($iid, $_IPS['SELF']);
		IPS_SetIdent($iid, $ident);
        IPS_SetName($iid, $ident);
		
		//Configure
        $GA = explode("/", $GA);
		IPS_SetProperty($iid, "GroupAddress1", intval($GA[0]));
		IPS_SetProperty($iid, "GroupAddress2", intval($GA[1]));
		IPS_SetProperty($iid, "GroupAddress3", intval($GA[2]));
        IPS_SetProperty($iid, "GroupFunction", $GF); 
        IPS_SetProperty($iid, "GroupInterpretation", $GI); 
        IPS_ApplyChanges($iid);	
    }
    return $iid;
 }

@cbeham

Der neue Enertex kann doch dann Datum/Uhrzeit senden mit 36 Stunden Gangreserve. Da hast die Funktion dann gleich auf dem Bus…

Ja genau :slight_smile:
Aber der ist noch nicht angekommen :slightly_frowning_face:

Danke für das Skript, aber das ist das aus dem Thread oder?
Date und Time getrennt. Mein MDT Jal Aktor braucht blöderweise ein kombiniertes Date/Time Objekt…

@cbeham
Beim MDT .02 kannst du es umstellen… Hast du Zugriff auf die ETS?

Ja, das Problem ist das der MDT keine Applikation für den IP Router mit Emailfunktion (Zeitserver) mehr laden mag…
Die normale Applikation für den IP Router lässt sich via ETS laden, bei der anderen Applikation sagt er „… keine Antwort in angemessener Zeit…“

KNX Spannungsversorgung ab/anstecken brachte nur kurzzeitig Erfolg.

Jetzt möchte ich es zusätzlich via IPS senden.

Wenn Du Dir eine Instanz anlegst, siehst Du, was alles grundsätzlich in 19.001 enthalten ist. Zum Beispiel der Wochentag, ob es ein Arbeitstag ist und so weiter. Wenn Du dann ein Skript öffnest und den Befehl tippst, hilft Dir IP-Symcon, den Befehl entsprechend zu füllen. Musst einige Dinge natürlich berechnen.

Vielen Dank!

<?php

 $uhrzeit = time();
 $datum = date("Y-m-d", time());

 $tage = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
 $tag = date("w");
 $wochentag = $tage[$tag];
 
 $bool_f = true; 

 $isthisaweekend = isWeekend($datum);
 if ($isthisaweekend)
 {
  $bool_wd = false;
 }
 else
 {
  $bool_wd = true;
 }

 $bool_NWD = true;
 $bool_NY = true;
 $bool_ND = true;
 $bool_NDOW = true;
 $bool_NT = true;

 $now = new DateTime('now', new DateTimeZone('Europe/Berlin'));
 $bool_SUTI = $now->format('I');

 $bool_CLQ = false;

//KNX_WriteDPT19(47143, $uhrzeit, $wochentag, $bool_f, $bool_wd, $bool_NWD, $bool_NY, $bool_ND, $bool_NDOW, $bool_NT, $bool_SUTI, $bool_CLQ);

RequestAction(13868, $uhrzeit); // Uhrzeit Datum + Wochentag

RequestAction(39298, $bool_SUTI);  // Sommerzeit

function isWeekend($date) 
{
    return (date('N', strtotime($date)) >= 6);
}

Wochentag setzt er automatisch mit RQA $uhrzeit.

Wird das bei Änderung einer Variable automatisch auf den Bus gesendet?
Wenn ich unter „Experteneisntellung“ senden auf true stelle, wird bei einer leseanfrage das Objekt gesendet?

lg

Super Arbeit!

Korrekt.

1 „Gefällt mir“