Wer hat Erfahrung mit HAP?

#2097028
Lesenswert?

Ich denke das liegt am Browser. Ich kann z.B. über das iPhone die Slider 
des Dimmers ca. 2 mal betätigen, danach geht es nicht mehr bis zum 
Refresh.

Übrigens überlege ich auch mir das Archos 101 für die GUI anzuschaffen 
oder doch ein iPad. Du kannst ja mal deine weiteren Erfahrungen hier 
posten.

Gruß
Carsten
#2097061
Lesenswert?

zum IPAD vs. Archos kann ich dir bereits jetzt schon was sagen.
habe mit beiden Ausprobiert da ein Freund von mit ein IPAD hat.

Das Problem besteht auf beiden Geräten.
Auf Ipad hat aber, meine Meinung nach, ein wenig länger gebraucht bis 
ich Refresch machen müsste.

Was ich bei Archos besser finde ist es seine 16:9 Gehäuse. liegt besser 
in der Hand und ist dünner als Ipad.

Das Ipad ist aber viel Flüssiger was Menüs oder ähnliches angeht.
Da der Archos 1 Ghz Prozessor hat habe ich ein bisschen mehr erwartet.

Aber für das Geld (279 EUR) ist ganz ok.


Was ich mich trotzdem zu Archos führt ist es Android. Das ist wirklich 
super OS. Ich arbeite gerade daran eine App zu schreiben damit ich 
direkt per Socket Verbindung mit dem Server befehle ins CAN-Netz 
schicke.

Mit Android SDK ist es wirklich sehr leicht es zu lernen und es gibt 
1000 Examples.

Im Moment habe ich schon mal soweit geschafft dem Rechner ein Befehl zu 
schicken worauf er eine Aktion durchführt und mir dann eine Antwort 
schickt.

Aber das App dauert noch da ich im Moment nicht viel Zeit habe. (werde 
Vater) deswegen möchte ich schon gerne dieses Browser Problem irgend wie 
beseitigen.
#2098310
Lesenswert?

Habe das "Browserproblem" halbwegs gelöst.

Bei der GUI-Programmierung habe ich die Aktualisierungsraten nicht 
verändert. War also bei allen Buttons 10s. Habe mir dann Debugg. 
angesehen. Config-Server sendet dann jede 10s aktuellen Status der 
Buttons(alle auf einmal).

Habe mit dann gedacht dass der Browser vielleicht das nicht so gerne 
mitmacht und habe dann folgendes gemacht:
habe dann Gruppen gebildet mit je 4 Buttons mit verschiedenen 
Aktualisierungsraten. (10,11,12,13,14-s) somit wurde dann festgelegt 
dass es immer nur von 4 Button aktuellen Status gesendet wird.

Jetzt sendet der Config-Server viel weniger Daten aber viel öfter. Das 
macht wohl Browser gerne mit, denn jetzt musste ich es nicht mehr 
aktualisieren, habe zimlich lange wild geschaltet und view's gewechselt 
und es hat tadellos funktioniert.

Hoffentlich ist das "Browserproblem" jetzt weg.

Grüß
#2100099
Lesenswert?

Hallo Leute,
ich habe folgendes Problem:
mein ZCD ist an L1 angeschlossen. ich habe zwei Dimmerplatinen. Es 
werden unterschiedliche Phasen gedimmt. und logischerweise past meine 
Nulldurgangserkennung nicht mit L3 zusammen.

Könnte mir jemand ein Tipp geben was ich in der Software vielleicht 
ändern könnte. Ich denke das ist doch nur Timing Sache.

ich wäre sehr Dankbar für die Hilfe

Grüß Eugen
#2102062
Lesenswert?

Eugen R. schrieb:
> Habe das "Browserproblem" halbwegs gelöst.
>
> Bei der GUI-Programmierung habe ich die Aktualisierungsraten nicht
> verändert. War also bei allen Buttons 10s. Habe mir dann Debugg.
> angesehen. Config-Server sendet dann jede 10s aktuellen Status der
> Buttons(alle auf einmal).
>
> Habe mit dann gedacht dass der Browser vielleicht das nicht so gerne
> mitmacht und habe dann folgendes gemacht:
> habe dann Gruppen gebildet mit je 4 Buttons mit verschiedenen
> Aktualisierungsraten. (10,11,12,13,14-s) somit wurde dann festgelegt
> dass es immer nur von 4 Button aktuellen Status gesendet wird.
>
> Jetzt sendet der Config-Server viel weniger Daten aber viel öfter. Das
> macht wohl Browser gerne mit, denn jetzt musste ich es nicht mehr
> aktualisieren, habe zimlich lange wild geschaltet und view's gewechselt
> und es hat tadellos funktioniert.


Problem Besteht immer noch. nur nicht so oft
#2102160
Lesenswert?

Eugen R. schrieb:
> Hallo Leute,
> ich habe folgendes Problem:
> mein ZCD ist an L1 angeschlossen. ich habe zwei Dimmerplatinen. Es
> werden unterschiedliche Phasen gedimmt. und logischerweise past meine
> Nulldurgangserkennung nicht mit L3 zusammen.
>
> Könnte mir jemand ein Tipp geben was ich in der Software vielleicht
> ändern könnte. Ich denke das ist doch nur Timing Sache.
>
> ich wäre sehr Dankbar für die Hilfe
>
> Grüß Eugen

Darüber habe ich mir auch schon Gedanken gemacht. Durch den 
Nulldurchgang wird einfach ein Timer auf Null gesetzt. Die anderen 
Phasen sind nur um einen festen Wert verschoben. Das könnte man über 
einen Parameter steuern.
Das müsste man in der Funktion "DMSynch" in der Datei hadm.c einbauen.

Aus Zeitmangel habe ich dann aber erstmal doch nur weitere ZCDs verbaut.



Gruß
Carsten
#2102402
Lesenswert?

@Carsten W.

bei iphone/index.html ab zeile 79
da ist ein Type Vergleich von 64 bis 67(steht im table device)

kann sein dass deine Dimmer vielleicht irgendwie nicht da zwischen 
liegen dann sollst du dir vielleicht das ansehen.

ich habe eigentlich keine fehlende Dimmer bei mir gesehen
#2102450
Lesenswert?

@Carsten

hast recht habe jetzt auch gemerkt Cut Off Dimmer haben bei mir Type 72 
habe den vergleich bis 72 angegeben und jetzt werden die auch angezeigt.

also
/opt/hap/bin/hap-configserver/root/src/iphone/index.html

die zeile 79 anpassen. und dann läuft alles ;-)

ich versuche gerade abfrage von Abstractdevice hinzuzufügen aber irgend 
wie reichen meine Kenntnisse mir nicht.

die Shutter werden momentan nicht angezeigt.vielleicht kannst du 
vielleicht paar tips geben wenn du das angesehen hast.

Grüß
#2103614
Lesenswert?

@Carsten
ja so habe ich auch erstmals gedacht, aber so wie ich verstehen konnte 
gibt es irgendwelche Module die das Ganze in 2 Bereichen nach Rooms und 
Devices aufteilen. wenn du am ende das [% END %] weg programmierst dann 
siehst du beim Aufruf eine Ausgabe von diesen Modulen. So wie ich 
verstehe liest das Programm nur was in Rooms und Devices steht. bei der 
ausgabe waren keine Eingänge, Shutters oder sonstiges zu sehen.
#2104112
Lesenswert?

Hi,

da bei mir die GUI mittlerweile sehr träge reagierte, habe ich mir ein 
Skript geschrieben um die Statustabelle aufzuräumen.
Alle Einträge die älter als 7 Tage sind werden gelöscht. Der letzte 
aktuelle Status bleibt aber immer erhalten damit die GUI diesen richtig 
anzeigt.
1
#!/usr/bin/perl
2
$| = 1;
3

4
=head1 NAME
5

6
hap-dbreorg.pl -  The Home Automation Project delete old status item script
7

8
=cut
9

10
use warnings;
11
use strict;
12
use FindBin ();
13
use Getopt::Long; 
14
use lib "$FindBin::Bin/../../lib";
15
use HAP::Init;
16
my $c = new HAP::Init( FILE => "$FindBin::Bin/../../etc/hap.yml" );
17

18
my $Module = undef;
19
my $Address = undef;
20
my $sel = undef;
21
my $ref1 = undef;
22
my $ts_last = undef;
23
my $ts_now = undef;
24

25
my $config = undef;
26
GetOptions( "config|c=i" => \$config ) or die ;
27

28
if (!$config) {
29
 $config = $c->{DefaultConfig};
30
}
31
my $sth = $c->{dbh}->prepare("SELECT Module, Address FROM status WHERE config = $config GROUP BY Module, Address");
32
$sth->execute();
33
# 604800 entsprechen 7 Tage
34
$ts_now = time() - 604800;
35
while (my $ref = $sth->fetchrow_hashref()) {
36
# print "Module:  $ref->{Module}\t Address: $ref->{Address}\t";
37
 $Module  = $ref->{Module};
38
 $Address = $ref->{Address};
39
 $sel = $c->{dbh}->prepare("SELECT ts FROM status WHERE Module = $Module AND Address = $Address ORDER BY ts DESC LIMIT 1");
40
 $sel->execute();
41
 $ref1 = $sel->fetchrow_hashref();
42
 $ts_last = $ref1->{ts}; 
43
# print "TS: $ts_last\t TS - 7 Tage: $ts_now\t \n";
44
 $sel = $c->{dbh}->prepare("DELETE FROM status WHERE Module = $Module AND Address = $Address AND ts < $ts_now AND ts <> $ts_last");
45
 $sel->execute();
46
}
47

48
exit 0;

Gruß
Carsten
Gast #2105311
Lesenswert?

Hi,

habe eben nochmal den Code überflogen. Ich sehe nicht, warum die GUI so 
langsam wird, wenn die Status-Tabelle voll ist.

Habt Ihr evt. Charts mit drin?

Normalerweise ist das der Datenbank herzlich egal, wenn da Millionen 
Einträge in einer Tabelle stehen.

Ich könnte mir nur vorstellen, dass die ORM-Geschichte da irgendwas 
falsches macht (ganze Tabelle einlesen, anstatt nur einen Record, 
etc...).

Könnt Ihr das mal irgendwie eingrenzen, bzw. sagen, was genau lange 
dauert.

cu,
Ben
#2105350
Lesenswert?

@Ben
Charts habe ich zwar drin, allerdings auf einem gesonderten Screen.
In meinem Fall liegt es aber wohl eher an dem HAP-Server. Der läuft auf 
einem Dockstar mit USB-Stick als Laufwerk.
Da wollte ich demnächst mal auf eine kleine SSD umsteigen.

Zurzeit habe ich in der Statustabelle nach einer Woche ca. 19000 
Einträge (2 Temp. Sensoren im 5 Min. Abstand und zum Test ein 
Helligkeits Sensor, Abfrageintervall ebenfalls 5 Min.)

Gruß
Carsten
#2106388
Lesenswert?

Hi,
im Source der Firmware sind ja schon I²C Routinen vorhanden.

Ist Momentan schon was davon nutzbar oder laufen da nur die Eeproms 
drüber ?

Ich bin grade dabei mein HAP-System zu erweitern, und will den Füllstand 
des Öltanks messen.

Hab da einen schnuckligen, kleinen Ultraschallsensor gefunden der seine 
Daten über I²C oder seriell ausgibt.

Wenn man den TWI Port in HAP nutzen könnte, würde ich mir den Umweg über 
einen kleinen Mega 8 + D/A-Wandler sparen.

(Den Analogwert würde ich sonst mit HAP wieder einlesen)

MfG Uwe
#2112066
Lesenswert?

Hallo zusammen,

ich habe mir über Charly Platinen schicken lassen. Die DIL Variante 
passt, die SMD CU und den USB Wandler hat Carsten wohl angepasst, 
zumindest stimmt das Layout und Schaltplan nicht 100% mit dem überein 
was ich auf der Homepage finde(vorallem der USB Wandler ist ziemlich 
anders).

Auf dem USB Wandler steht auch "USB-HAP-232-485 V3.10"

Vielleicht kann mir einer von euch die passenden Eagle Dateien hier 
Posten und auf der Homepage aktualisieren, damit eventuell andere dann 
auch was davon haben.

Gruß
Micha

P.S. Dank schonmal an die Entwickler von HAP, ich bin gerade dabei 
richtig in die Materie einzutauchen und schon jetzt sehr fasziniert.
#2114171
Lesenswert?

Hallo,
ich möchte hier meine 0-10V Dimmermodul anbieten.
ist getestet und funktioniert. Ist für HUT-2C(Reichelt) Gehäuse.
Schaltplan war nicht von mir sondern von hier
http://www.hoelscher-hi.de/hendrik/light/demux.htm

1000µF Kondensator müsste eventuell noch nach eigenen Bedürfnissen
angepasst werden. bei der angegebenen Konstellation wird für ein
Dimmvorgang von 0 auf 100% ca. 15 sec. gebraucht. (bei sofortiger
Abschaltung des Ausganges am CU). Somit sind die Dimmvorgänge fast mit
dem Sonnenaufgang bzw. -untergang zu vergleichen :-)

Der 0-10V Modul wird einfach an einen Ausgang angeschlossen und als
Dimmer-Cut-Off programmiert.

Mal andere Frage:

ich arbeite an einer App für Android. ich habe mal mit socat Usb aufs
Netzwerk gemacht.(wie in wiki steht) ich habe aber festgestellt dass ich
diese Port Listening nicht mit 2 Anwendungen gleichzeitig nutzen kann.
wenn das richtig ist, welche Möglichkeiten hätte ich noch mit dem Canbus
von außen zu verbinden.

Vielen Dank  Mit freundlichen Grüßen
Eugen
Angehängte Dateien:
Gast #2116221
Lesenswert?

Hallo

ich habe es leider bis jetzt nicht geschafft, das er mir die 
Hintergrundfarbe der Graphenumrandung farbig oder transparent macht um 
sie direkt in die Oberfläche einzupassen. Nutze Chart5 & line siehe 
Bild.

Z.b. chart.background.color = black keine Reaktion und mit 
chart.background.barcolor1 und chart.background.barcolor2 konnte ich 
schon mal den Graphinneraum füllen aber für den Rand habe ich noch 
nichts gefunden außer xlabel.inside.color ...

 Jemand ne Idee?
Angehängte Dateien:
#2118861
Lesenswert?

Hey Leute,

oben hatte mal jemand wegen einer Hilfe beim LCD gefragt, das wurde dann 
aber ausserhalb des Threads wohl gemacht. Tja, und jetzt komme ich nicht 
weiter. Alles verdrahtet usw. Backlight leuchtet auch schonmal und der 
Rest (can usw geht auch)
Firmware ist mit LCD + Encoder usw eingespielt.
Was muss ich nun anlegen. Habe für die Leitungen (Data+ RW usw) Devices 
angelegt und ein GUI Element usw.
Aber mir fehlt da das verständis wie das verknüpft werden muss/ soll. 
Auf jedenfall tut sich nüscht :)
Na vielleicht gibt mir jemand ein paar Tips hier :)

Gruß
Micha

P.S. Wegen eagle Dateien von oben (also Anpassungen von Charly).Link 
kommt die Woche denke ich.
#2119317
Lesenswert?

moin moin allerseits,

i lade mal die zip datei mit den von mir geaenderten
Boards hoch im falle das jemand sie brauch der Platinen
von mir bekommen hat

viel spass & viel erfolg weiterhin mit dem tollen Projekt
( falls fragen dann bitte per mail da i nicht taeglich hier
im forum bin email: mc-besteller (at) web . de )

vlG
Charly
Angehängte Dateien:
#2119353
Lesenswert?

So, mal noch eine Frage. Habe den Encoder (STEC11B von Reichelt) 
ausprobiert. Ich denke ich habe die Beschaltung richtig, in dem 
Datenblatt stand A B C, D und E (siehe Bild encoder1.png)
Wenn ich jetzt an dem Encoder drehe bekomme ich immer 2 Werte geliefert, 
rechts und links (encoder.png).

So komme ich also nicht weiter. Was habe ich falsch gemacht :) ... 
Vielleicht einer ein Idee.

Gruß und Danke,
Micha

P.S. Der Push Button geht, also schonmal 1/3 vom Encoder.
Angehängte Dateien:
#2124292
Lesenswert?

Hallo Michael,

zu dem Encoder/Display Problem

im Screenshoot hab ich schon einen Fehler gesehen. Den Notify musst du 
auf die CU setzten wo der Encoder und das Diplay drauf ist. Alterativ 
eine Multicastgruppe machen.
Auch die Notify Einstellungen der Displaysignale (D0-D3 usw.)müssen auf 
die eigene CU gehen.

Es macht aber keinen Sinn Display oder Encodersignale an den Server zu 
schicken.

Das Log wird somit noch voller und ich hatte ab einer bestimmten Größe 
der Log und Statustabellen massive Performanceprobleme der Gui.

Dann unter LCD Gui ein Menu anlegen.

Daten in die CU schreiben (LCD und Config)

Es sollte nun funktionieren.

PS: ich hatte tlw. Probleme mit dem übertragen der Config. Es kam vor 
das die neue konfig nicht übernommen wurde oder sich die CU aufgehängt 
hat. In dem Fall hat das löschen des EEProm des Atmel über Ponyprog 
geholfen.
Also löschen und die Config nochmal neu übertragen.

MfG
Manuel
#2134011
Lesenswert?

Hi,

bei meiner Suche nach einem Tablet für die Visualisierung habe ich jetzt 
zugeschlagen. Vielleicht ist dies ja auch für andere etwas.
Das WeTab wird mehr oder weniger ausverkauft. Für 249€ bekommt man eine 
recht universelle Hardware, die von anderen Firmen auch unter eigenem 
Namen verkauft wird (ExoPC).
Ich habe jetzt erst einmal Windows 7 installiert, Linux, Android oder 
Meego ist auch kein Problem.

Gruß
Carsten
Gast #2138178
Lesenswert?

Hallo zusammen

ich hoffe alle anderen Häuslebauer kommen auch gut vorran!

Gibt es eigentlich eine Möglichkeit die /iphone Oberfläche zu 
konfigurieren bzgl dem Inhalt? Gefällt mir gut!

Parallel habe eine Fragen zur Mosfet Platine von der Homepage? Werden 
die MOSFETs bei euch auch handwarm obwohl der Kanal aus ist, sollte doch 
eigentlich nicht so sein oder?
Auf den Oszi sieht eigentlich alles ok aus (Firmware ha-2-5-16 20100303 
Ausgang invertiert).

Hatte mal Dimmer Cut off und Dimmer Long ignition (Phasen ab&anschnitt) 
jeweils probiert und der Ausgang ist dauerhaft stabil 5V über die 
Perioden wenn die Lampe aus sein soll. Dadurch sollte das Gate keine 
Steuerspannung bekommen durch den Kurzschluss über den Optokoppler und 
so auch kein Strom durchs FET fließen!

Von daher verstehe ich nicht ganz wie das MOSFET die Energie absorbiert!
#2138228
Lesenswert?

So, mal eine kurze Rückmeldung von mir. Mein 1. Display war defekt, da 
konnte ihc lange suchen. Hab mir dann als 2. ein 3 Zeiliges bestestellt, 
eingebaut und es läuft. Allerdings gab es da noch ein Problem in der 
Firmware, ich habe Teile vom 2 zeiligen einfach Kopiert. Ich schaue mir 
das nochmal an und sag dann bescheid. Dann könnte vielleicht jemand die 
Änderungen ins SVN einchecken.

>
> PS: ich hatte tlw. Probleme mit dem übertragen der Config. Es kam vor
> das die neue konfig nicht übernommen wurde oder sich die CU aufgehängt
> hat. In dem Fall hat das löschen des EEProm des Atmel über Ponyprog
> geholfen.
> Also löschen und die Config nochmal neu übertragen.
>
> MfG
> Manuel

MEin Fehler war, das ich LCD und Config zusammenübertragen wollte, da 
gibs wohl einen Bug. Übertrage ich jedes einzeln geht es.

Vielen Dank schonmal wieder an allen die mir geholfen haben!

Gruß
MIcha
#2138756
Lesenswert?

Moin

habe lange leider nichts mehr am HAP erweitert aber jetzt wo das Haus 
langsam fertig wird will ich auch wieder ein bissel das ganze ausbauen.

Bzgl. der Hintergrundfarben um den Graphen keiner ne Idee? Hatte auch 
schon mal im Forum des Graphs gepostet aber da ist leider nicht viel 
los.

@Mobus

Also bei mir werden sie ebenfalls leicht warm. Raumtemperatur im 
Hutschienengehäuse 26°C bei einer Temperatur von 23°C im Schaltschrank.
Wäre mal interessant weil ja eigentlich nichts fließen sollte über den 
MOSFET. Die Widerstände R2&R9 allerdings verbrauchen ja auch was und 
erwärmen so das ganze ebenfalls...
#2140837
Lesenswert?

@Eugen

Ich sage es mal so, das WeTab ist ein Netbook ohne Tastatur. Ein iPad 
sieht dagegen im Größenvergleich aus wie der kleine Bruder. Dafür ist 
man komplett offen welches Betriebssystem man verwenden möchte.
Die Verarbeitung des Gehäuses würde ich auch als gut bezeichnen. Den 
Arbeitsspeicher als auch die SSD lassen sich ohne Probleme selber 
aufrüsten.
Ich habe jetzt Windows 7 installiert, damit ist halt alles möglich. 
Eventuell reicht aber auch Android, das wird sich später noch zeigen.
Super wäre es noch wenn man die Dockingstation dafür bekommen könnte, 
die ist aber zurzeit in Deutschland nicht erhältlich.
Hier bekommt man übrigens sämtliche Infos zu dem Gerät.
http://www.wetab-community.com/
http://www.exopc.com/forum/

Gruß
Carsten
#2186721
Lesenswert?

Hi,

Ich hatte vor geraumer Zeit nach dem Code für den hier genutzten 
Bootloader gefragt, jedoch leider keine Antwort bekommen.
Könnte vielleicht irgendjemand der Verantwortlichen dazu Stellung 
nehmen?

Mein Hausumbau nähert sich dem Ende zu, jetzt stehen die Platinen an, 
und ich würde HAP gerne auf einen etwas größeren Controller portieren - 
vielleicht haben auch andere dann etwas davon... Das einzige was mir 
fehlt ist der Bootloader.
Falls ich blind bin, und doch etwas übersehen habe, dann würde ich mich 
auch über solche Hinweise freuen ;-)

Gruß Marc
#2187903
Lesenswert?

Hi Leute,

irgendwie bekomme ich den Firmware Upload auf das Modul nicht hin. Habe 
Testweise eine neue Firmware erstellt, diese wird auch hochgeladen (also 
über die GUI) und ist in der Datenbank zu finden. Beim Flashen über die 
Oberfläche kommt kurz der Aufruf und das war es.

Habe es dann über die Konsole probiert, auf der einen Seiten den hap-mp 
offen, auf der anderen Seite mache ich :

/opt/hap/bin/helper$ ./hap-firmwarebuilder.pl -m 101 -f

Beim MP kommt nur :

Source:238 -> Session:13

und das war es dann.

Irgendwo mache ich noch etwas falsch :) .. Die 101 sollte stimmen, show 
sagt :

/opt/hap/bin/helper$ ./hap-showmodules.pl
Address: 99      => ID: 263
Address: 100     => ID: 264
Address: 101     => ID: 265

Über Hinweise bin ich wie immer dankbar :) :)

Gruß
Micha
Gast #2187952
Lesenswert?

@Michael Kentschke

Hallo,
also Flaschen über GUI klappt bei mir auch nicht, da ist irgendwo ein 
Wurm drin. In der Konsole klappt es wunderbar, allerdings sollst du bei 
Flaschen nicht die CU Adresse verwenden sondern die ID.
also in deinem Fall wäre es dann

/opt/hap/bin/helper$ ./hap-firmwarebuilder.pl -m 265 -f

Mfg
#2188045
Lesenswert?

Super, das hat schonmal funktioniert. Ich kann nun eine Firmware 
flashen, zumindest  sieht es so aus.

Allerdings habe ich noch eine Frage. Ich hatte einfach nur die Sourcen 
neu gepackt (wie im Wiki beschrieben) und die Datei hatte dann z.B. die 
Version 2.5.8. Das zeigt er mir an der Oberfläche usw auch an. Bei der 
CU habe ich dann auf 2.5.8 an der Oberfläche gewechselt und flashe dann 
über die Konsole.
Da müsste er doch die 2.5.8 nehmen, beim späteren Abfragen des Moduls 
bekomme ich aber immer noch 2.5.7, an der Oberfläche bleibt auch unter 
current 2.5.7 stehen.

Steht die Zahl noch irgendwo oder mache ich immer noch etwas falsch ?

Gruß
Micha
#2188098
Lesenswert?

Hi,

Bitte meine Frage oben nicht überlesen, ich hätte direkt die nächsten...

Kann mir jemand etwas zu der Historie des Projektes erzählen?
Wo hatte es seinen Ursprung? Ist der Originalautor noch in irgendeiner 
weise involviert oder erreichbar? Wen interessieren meine Änderungen, 
sollte ich mich bei geplanten Änderungen vorher in einem Forum 
austauschen?

Gruß
Marc
Gast #2188501
Lesenswert?

@ Michael Kentschke

da befürchte ich leider auch dass da irgendwo ein Fehler eingeschlichen 
ist. Die neue Firmware wird auf jeden Fall übernommen. Ich bekommen auch 
immer nur die alte Version angezeigt egal wie viel ich neue Firmware 
geflasht habe. Mich hat es aber nicht weiter gestört ich habe einfach 
durch viele Tests  festgestellt das neue Firmware auf jeden Fall 
übernommen wird.

@Marc Wetzel
Ich bin mir nicht ganz sicher, aber ich meine dass der Autor sehr wohl 
noch erreichbar ist und ist in diesem Forum unter Namen "Ben" zu finden.
Auf der HAP Seite kannst du den auch Kontaktieren.
#2188648
Lesenswert?

Also zumindest habe ich gestern im Code folgendes übersehen :

//////////////////////////////////////////////////////////////////////// 
////////
// Software-Version festlegen 
//
//////////////////////////////////////////////////////////////////////// 
////////

#define SVHAMajor 2
#define SVHAMinor 5
#define SVHAPhase 7

Habe es mal geändert, hat aber auch nix gebracht. Das verwundert mich 
eigentlich, da ja das hier dann :

 case SMCCSSGetVersion:
                TmpMData.Code.Value0 = SVHAMajor;
                TmpMData.Code.Value1 = SVHAMinor;
                TmpMData.Code.Value2 = SVHAPhase;

die Version liefern sollte. Bleibt aber stur auf 2.5.7 (habs mal auf 
2.5.9 geändert).

Werde dann heute mal in der GUI Datei was ändern und rüberspielen, um zu 
schauen ob die Firmware auch wirklich richtig ankommt.

Wichtig fände ich das schon, sonst hat man irgendwann keinen Überblick 
mehr was wo drauf ist. Ich will das ganze nämlich erweitern um einen 
neuen Lichtsensor und einen Bewegungsmelder.
Wenn ich das denn mal zum laufen bekommen habe gibs hier natürlich von 
mir auch den Code dazu, denn ich bin nach wie vor schwer begeistert von 
dem ganzen Projekt.

Gruß
Micha
#2188787
Lesenswert?

Hi,

bei mir geht es auch weiter. Aktuell baue ich ein Skript welches 
tagsüber die sonnenabhängige Abschattung der Fenster steuert.

Berüchsichtigt wird die Temperatur, Helligkeit, aktuelle Position der 
Sonne usw. . Für jedes Rollo lässt sich ein Bereich in Grad angeben, 
wann das Fenster beschattet werden soll.

Wenn ich Zeit habe stelle ich es als Anregung ins Wiki.

Gruß
Carsten
Gast #2188828
Lesenswert?

Also was der App für Android angeht, da habe ich schon was Programmiert. 
im Moment muss man sich ganze Buttons selber zusammen stellen. 
Vielleicht schaffe ich irgendwann mal es Automatisch anhand der SQL 
Daten zu generieren.

Wenn jemand es wünscht kann ich mein Code bereitstellen. Ich will aber 
im voraus betonen dass ich kein gelernte Programmierer bin und habe mir 
das ganze selber eingeeignet. Deswegen nicht sauer  über "dreckige" 
Programmierung sein. Ich kann nur sagen dass das Programm läuft sehr 
zufriedenstellend.
#2188840
Lesenswert?

@Eugen
Da komme ich bei gelegenheit drauf zurück, aktuell habe ich nur zuviele 
Baustellen. Vielleicht tun wir uns dann zu gegebenen Zeit zusammen, um 
ein Konzept zu finden. Ich habe auch eine Lizenz um IPhone etc. Apps zu 
erstellen und anzubieten, das steht für HAP auch auf meiner Liste.

Aber erstmal muss ich das Firmware Problem lösen :)

Gruß
Micha
Gast #2188847
Lesenswert?

Iphone klingt supper. Paar meine Kumpels haben Iphone's und wollten auch 
das App haben. bei Iphone bin ich im Moment eine 0.

Können dann bestimmt irgendwann mal machen. bis dahin mache ich weiter 
mit dem Android. habe noch viel zu lernen :-)
#2189342
Lesenswert?

So, ich habe mal die Hap Firmware auf Eclipse portiert (mit avr Plugin), 
da mir das entwickeln im AVR Studio keinen Spass macht. Ausserdem habe 
ich die Sourcen ein bisschen sortiert (die Namen sind mir nicht 
selbstsprechend genug) (siehe Anhang).

Zusätzlich habe ich ein kleines Eclipse Plugin erstellt, mit dem man 
dann die Firmware automatisch erstellen lassen kann. Das Plugin holt 
sich die Firmwareversion aus der mv.h und speichert alles passgenau als 
Zip ab.

Falls interesse besteht kann ich mal einen kleinen WikiArtikel schreiben 
wie man das ganze in Eclipse aufsetzt usw. Dafür müsste aber dann jemand
1) das Plugin hosten
und
2) wäre es am besten die Sourcen in der Struktur mit ins SVN zu nehmen.

Sagt einfach mal was ihr davon haltet.

Gruß
Micha
Angehängte Dateien:
#2189402
Lesenswert?

Also irgendwas mache ich noch falsch beim Firmware update. Habe jetzt 
mal in der lcd C Datei was geändert (Thermost. Value verschoben usw).

Firmware hochgeladen, an der Oberfläche bei der CU auf neue Firware 
gesetzt und in der Console mit firmwarebuilder augeführt. Das er da die 
neue Firmware nimmt sehe ich an den Ausgaben vom Compiler (ein warning).

Tja, das läuft dann auch alles durch usw.

Aber irgendwie ändert sich nix :(

Wie macht ihr das denn ?

Gruß
Micha
Gast #2189543
Lesenswert?

also das was du in Eclipse gebastelt hast finde ich echt super. ich wäre 
scharf auf den Projektordner :-)
was dein Problem angeht da verstehe ich noch nicht so ganz was du genau 
machst und was es sich ändern soll.

also bei mir war der Fall dass ich paar Shutter-Devices mehr gebraucht 
habe, dann habe ich die 2.5.7 Firmware genommen da die nötigen Dateien 
angepasst, und dann als z.b 2.5.8 gespeichert und über GUI hoch geladen. 
danach habe ich in der Modulkonfiguration die 2.5.8 Firmware selektiert 
und dann per Konsole geflasht. wie schon gesagt der µC meldet immer noch 
die alte Version ich konnte aber die zusätzlichen Shutter einwandfrei 
nutzen was ich aber davor nicht konnte.
#2189566
Lesenswert?

Ich packe das eclipse Zeug diese Woche erstmal auf meinen Webspace und 
schicke den Ben eine Email ob er es mit auf seine Page nehmen will.

ALso ich habe z.B. das gemacht :

void LCDPutThermostat(tGUIThermostat *pThermostat) {
  LCDClear();
  LCDPutString(pThermostat->Name);
  LCDGotoXY(1, 1);
//  LCDPutThermostatValue(pThermostat->ValueNew);
//  LCDGotoXY(9, 1);
  LCDPutThermostatValue(pThermostat->Value);
}

also 2 Zeilen auskommentiert. Da sollte ja dann auf dem LCD das "new 
value" nicht mehr angezeigt werden, tut es noch :)

Ich kann aber mal noch versuchen andere Sachen zu ändern. Ich brauche 
halt bloss die Sicherheit das alles angekommen ist usw.

Aber ansonsten machst du also auch nix weiter als an der GUI einstellen 
und dann z.B.

 ./hap-firmwarebuilder.pl -m 265 -f

???
Gruß
Micha
Gast #2189607
Lesenswert?

also wie du schon sagtest GUI einstellen und dann mit
./hap-firmwarebuilder.pl -m 265 -f  flashen.

ich habe aber bis jetzt noch keine LCD verwendet. deswegen was LCD 
angeht kann ich dir leider nicht helfen.

versuche vielleicht .hex direkt zu  flashen um zusehen ob es dann doch 
eine Veränderung gibt.
#2189750
Lesenswert?

Eugen schrieb:

> versuche vielleicht .hex direkt zu  flashen um zusehen ob es dann doch
> eine Veränderung gibt.

Da bin ich gerade dabei, und habe gleich mal noch eine Frage. Meine 3 
CUs habe ich bisher immer geflasht (bootloader+hex) und dann per 
serielle Konsole eingerichtet (hier im Thread ist ein PDF 
HAP-Quickstart-Guide (was ich übrigens gut finde)).
Damit war dann CCU Adresse usw drauf, dann habe ich in der GUI das 
device angelegt und alles war in Butter.

Ist das der normale Weg, oder geht es das ich bootloader + hex flashe 
und dann den Rest über die GUI mache (wenn ja wie)?

Gruß und Danke!
Micha
Gast #2189920
Lesenswert?

also du brauchst nur bootloader mit Firmware zu flashen.mehr nicht. 
alles andere kannst du über GUI machen.

also mein Weg ist folgendes:
Bootloader + hex flashen. in die HAP-CU Platine rein. in der GUI alles 
einstellen. CU starten dann GUI Module-Verwalten und Konfiguration 
senden.

oder ./hap-configbuilder -m xxx -f     geht auch

sonnst nichts mehr. die CU wird über die UID angesprochen.
#2192177
Lesenswert?

So, ich habe mir nocheinmal eine Testumgebung aufgebaut. Es geht auch 
alles soweit, mir ist das jetzt mit den IDs und dem Key vom Bootloader 
auch klarer.

Also alles schön. Nur der Firmwareupload geht bei mir definitiv nicht. 
Er läuft in der Konsole durch ohne Fehler (also immer ACK).

Ich habe es probiert mit einer Firmware die ich dann per Hand geflasht 
habe (kleine Änderung in der LCD GUI).

Per Hand geht, per CAN leider nicht.

Ich vermute er schreibt es in das EEPROM und tut es dann nach dem Start 
nicht rüberspielen. Laut Handbuch erkennt er das wohl an der 
Versionsnummer. Da ich die Sourcen vom Bootloader nicht habe ist das 
schwer zu überprüfen.

Daher nochmal die Frage, seit ihr sicher das der Firmwareupload bei euch 
wirklich geht.

Wenn ja, wie macht ihr es :) :)

Gruß
Micha
#2192916
Lesenswert?

So, jetzt habe ich mal die Perl Scripte angepasst und fahre direkt auf 
eine CU ab (warum wird eigentlich beim Firmwareflashen erst einen 
Multicast gesetzt und dann über die gesendet ? )

Wie auch immer, es kommt alles richtig an, habe das Script beim Befehl:

VLAN Source Dest 56 1 0 0 0 (Download-Ende-Paket)

aufhören lassen. Egal was ich dann aber mache, er überträgt es nicht in 
den Flash vom AVR.
Frage ich das ganze ab, sagt er mir auch :

config Test vlan 1 source 101 destination 237 get-flash-flag 
ready-to-flash [C:133,V:1,S:101,D:237,MT:77,DEV:24,V1:0,V2:0,V3:0]

Das muss also jetzt irgendwie am Bootloader liegen das er den Flash 
nicht einspielt nach dem Neustart.

Welche Bootloader Version habt ihr? Ich bentutze den Stand aus dem SVN.

Gruß
Micha

P.S. Ein gutes hat das ja alles, ich steige wenigstens immer mehr durch 
die ganze Sache durch.
#2193078
Lesenswert?

Immder diese vielen Zufälle :) .. Auf einer CU ist das EEPROM irgendwie 
nicht io, deswegen lief/läuft da wohl beim flashen was schief (vermute 
im Code vom Bootloader), beim der andern CU war hatte ich die Fuse für 
den  Bootloader vergessen  :) :) (also BOOTRST)

Alles im allem für nachfolgen Bastler folgende Aussage :

Fuse kontrollieren (siehe WIKI, BOOTRST nicht vergessen ;-) )

Auf einer CU wo das EEPROM geht und die Fuses richtig gesetzt sind 
klappt es nun vorzüglich, auch wird die Version überall richtig 
angezeigt (auch in der GUI)

Jetzt schaue ich nochmal warum das Flashen mit der GUI nicht klappt und 
dann hoffe ich das ich das Thema Firmware abhaken kann.

Gruß
Micha

P.S. Je mehr ich eintauche, desto mehr Respekt habe ich vor den 
Entwicklern!!!
#2193785
Lesenswert?

Dann mache ich mal weiter mit meinem Monolog, vielleicht nützt es ja dem 
ein oder anderen später etwas.

Zwei Probleme habe ich gefunden. Der hap-scheduler wurde nicht richtig 
gestartet, da wohl der Name für den den Dämon zu lang war. Besser gesagt 
wurde er als Prozess angezeigt, aber ich konnte ihn nicht per 
start/stop/restart aufrufen weil er wohl die PID dann nicht richtig mit 
dem Namen gespeichert hat. Habe das ganze nun umgeändert von 
hap-scheduler zu hap-s usw., damit geht das schon einmal ohne Probleme.

Zum Firmware Problem. Komischerweise geht das flashen über die 
Oberfläche, wenn ich den Scheduler in der Konsole von Hand als Nutzer 
hap starte. Wird der Scheduler über das Runlevel gestartet gehts nicht. 
Vorerst kann ich damit leben nach einen Systemstart den Scheduler von 
Hand zu beeenden und direkt zu starten. Muss mich mal später dann mit 
dem Script beschäftigen.
Vielleicht hat ja noch jemand dazu eine Idee.

Grundsätzlich ist es jetzt aber so, das alles fast klappt. In Eclipse 
Firmware erstellen, dann hochladen per GUI und dann flashen per GUI. Wie 
es sein soll :) Ich werde im Laufe der Woche vorerst mal das Eclipse 
Plugin und die umstrukturieren Sourcen auf meinen Webspace packen.

Gruß
Micha
#2196265
Lesenswert?

Hallo,

mal eine allgemeine Frage an die LCD Besitzer. Wie habt ihr es am Ende 
dann eingaut, also habt ihr einen Rahmen selber entworfen usw. oder ist 
es bei basteln geblieben. Ich habe jetzt ein bisschen experimentiert 
(aktuell GIRA 55 in Aufputzvariante auf dem Schreibtisch zum Testen), 
dort habe ich dann eine 55x55mm Plexiglas scheibe drüber welche ich von 
Hinten weiß beklebbt habe (nur den Streifen frei für das Display). Ist 
schon nicht schlecht, aber richtig gefallen will mir das noch nicht.

Also mal her mit den Ideen oder sogar schon verwirklichten Halterungen.

Gruß
Micha
#2196347
Lesenswert?

@Micha

Ich hatte ursprünglich auch LCDs eingeplant aber einfach keine optisch 
gescheite Lösung gefunden. Das Display unterzubringen geht noch, 
allerdings brauchst du ja auch noch einen Drehknopf. Ich war schon kurz 
davor dies auf Taster umzubauen, hab dann allerdings alles verworfen.

Meine Heizung läuft zwar noch nicht über HAP aber wenn ich dies 
umschalte wird die Temperatureinstellung nur über die GUI (läuft auf 
einem Tablet) gemacht und eine andere Alltagsfunktion sehe ich in der 
LCD-GUI nicht.

Ich muss aber dazu sagen dass ich eine Fussbodenheizung habe und der 
Regelbedarf fast gegen Null geht.

Gruß
Carsten
#2196367
Lesenswert?

Also mit Drehknopf habe ich es schon gemacht. Werde mal nachher ein Bild 
davon Posten. Grundsätzlich will ich später schon in jedem Raum ein LCD 
haben, vorallen da so Tablet etc nachher nur überall rumliegen und man 
es dann nciht findet wenn man es sucht. Ausserdem finde ich die Displays 
einfach DAU sicherer. Später soll dann darüber auch gezielt Dimmer 
eingestellt werden können, oder einfach nur die Temperatur des Raums 
abfragen usw.
Aber das Auge bedient ja mit, deswegen überlege ich wie ich es am besten 
mache. Habe hier auch noch ein DOG Display 102x64, vielleicht mache ich 
damit auch mal was (ist halt eher quadratisch)

Ausserdem bin ich gerade dabei ein paar Touchtaster zu bauen (geht ja 
mittlerweile dank QTouch ziemlich simple mit den AVRs. Dann könnte man 
Display und Taster komplett unter einem "Glas" lassen.

Allerdings geht mit Touch wieder schwierig zB. wie beim Drehgeber von 30 
auf 75% zu kommen. Da tippt man sich blöd an Touch oder man muss 
gedrückt erkennen usw, also auch viel logik proggen.

Alles nicht so einfach. Aber Stück für Stück entsteht meine Hap 
Umgebung.

Gruß
Micha
#2196435
Lesenswert?

@Micha
Ich wollte dich auch nicht von der LCD-GUI abbringen ;-) . Ich habe mich 
aber im nachhinein betrachtet mit vielen Details beschäftigt die einfach 
später nicht relevant sind.
Ich denke da so an eine fertige Erweiterung der Firmware für einen 
DCF-Empfänger... . Hat sich mit dem Server den ich dann doch von Anfang 
an hatte mit einer Perlscriptzeile erledigt.

Gruß
Carsten
#2196451
Lesenswert?

Ja da hast du recht, ziemlich viel was man so rumbastelt braucht man 
später dann eh nicht. Aber das macht die Sache ja auch aus (also der 
Spass daran, und damit wächst auch das Projekt), und im Moment habe ich 
keinen Druck wann was fertig wird. Und von der GUI bringt mich eh keiner 
ab, das ist schon von Anfang an bei mir als wichtiger Punkt gesetzt :) 
:) :)

Falls es jemanden interssiert, bei mir läuft das HAP auf einem 
Pandaboard vorzüglich. Dort ist ein Ubuntu drauf usw. Hab es noch nicht 
gemessen, aber laut dieser Seite verbraucht es max. 4W 
(http://omappedia.org/wiki/Panda_Test_Data) Ich werde demnächst auch ein 
Backup von der SD Karte mache, falls also jemand interesse an einem HAP 
Server "Out of the Box" hat soll er sich melden, den Transfer der Daten 
müsste man dann schauen. Jetzt wird noch für das Pandaboard ein Adapter 
von 1,8V auf 5V Pegel für RS232 gemacht (läuft im Moment über USB 
Adapter), damit ich die ServerCU direkt an das Pandaboard klemmen kann.

@Carsten, sag mal, war die 4fach Relaisplatine mit den Relais von 
SCHRACK nicht von dir? Irgendwie passt die zusammgenlötet nicht richtig 
in mein Hutschienengehäuse (also mit den Klemmen von Reichelt)

Gruß
Micha
Gast #2200946
Lesenswert?

Ich hab schon oft hier gelesen das viele ihr HAP auf einer ARM-Umgebung 
installiert haben. Leider komme ich mit den vorhandenen 
Anweisungsschnippseln nicht so Recht zu Rande. Bitte um euere Hilfe..
Kann man dafür auch gleich die aktulle SVN-Version nutzen?
Ich habe mir vorgestellt das ganze auf einer NSLU2 laufen zu lassen, 
Debian mit Appache hab ich schon auf der Maschine am laufen.
Würd dann auch gleich mal ne ordentliche Anleitung dazu schreiben...
#2200958
Lesenswert?

@Lehmi
Ich habe einfach das deb Paket angepasst (von i386 auf ARM) und dann mit 
dpkg installiert. (ändern z.b. wie hier beschrieben 
http://www.rootz.de/2010/03/debianubuntu-control-infos-von-deb-packages-andern-editieren/ 
). Natürlich muss man das auch für die eventuellen Abhängigkeiten 
machen.

Danach dann einfach das SVN Update machen wie beschrieben.

Du kannst aber auch komplett von Hand installieren, in dem deb Paket 
steht ja quasi als "script" drin was er wohin kopiert und macht.

Ich habe im Momment viel zu tun, aber ich kann bei Gelegenheit mal das 
deb ARM Paket sowie die abhängigen Pakete hochladen.

Gruß
Micha
#2212157
Lesenswert?

Hallo alle zusammen!

Nachdem ich mir schon letztes Jahr bei Charly eine kleine Auswahl 
Platinen geordert hatte, bin ich nun endlich auch mal dazu gekommen, mir 
eine CU in  DIL-Version fertigzustellen ;-)

Flashen & Inbetriebnahme nach dem HAP-Quickstart-Guide hat auch 
hervorragend geklappt (zumindest sieht es danach aus).
Config übertragen geht per GUI und per Console.

Zum ersten Test hab ich mir gedacht, klemmste mal ne LED an einen Port 
(B1) an, mit entsprechendem Vorwiderstand gegen 5V und siehe da LED 
leuchtet.
Aber:

wenn ich den Port mit

0 0 99 64 9 1 9 0 über hap-cmd.pl

auf "active high" umkonfiguriere, passiert rein garnichts.
Sollte dann die LED nicht aus sein und ein HIGH-Pegel am Port anliegen?
Oder hab ich da irgendwas noch nicht verstanden?

Auch die Konfiguration als geschalteter Ausgang und enstsprechendem 
Setzen des Values ändert nichts am Pegel des Ports.

Übrigens an keinem Port, hab natürlich in der Zwischenzeit verschiedene 
Port ausprobiert.

Kann mir da vielleicht jemand von den erfahrenen HAP-Usern 
unterstützenderweise unter die Arme greifen, bitte?

Schönen Gruß
Nils
#2213443
Lesenswert?

Moin moin,

anbei mal die Config.

Ich glaube ich habs jetzt aber, die Geschichte mit den Device-Adressen 
(wurde weiter oben schon mal thematisiert) war wohl dsa Problem mit dem 
geschalteten Ausgang.
Device-Adressen ab 50 vergeben und schon geht es!

Das mit actice high und low hab ich noch nicht wieder probiert.

Gruß
Angehängte Dateien:
#2229331
Lesenswert?

Hallo,

nach anfänglichen Schwierigkeiten habe ich jetzt 2 Dimmer (über das 
Standard-Dimmer-Modul) im Einsatz!

Einer (im Moment 50 W Hochvolt-Halo) funktioniert gut (mal abgesehen von 
leichtem Flackern im unteren Bereich <40%), der (150W HV-Halo) andere 
quasi gar nicht :-( ein/aus geht, dimmen geht nur mit üblem Flackern und 
auch nicht über den vollen Bereich.

Konfiguriert sind beide wie im Wiki beschrieben.
Ports habe ich schon wechselseitig getauscht um die CU auszuschließen, 
aber es flackert immer der mit der großeren Last.

Hat irgendjemand eine Idee dazu??

Gruß Nils
#2239161
Lesenswert?

Hallo,

habe mal ein paar Fragen in Bezug auf die CU mit LCD.

kann ich den Buzzer von draußen ansteuern (zu Alarmzwecker z.B.)
(habs probiert - geht nicht)

kann ich auf dem Display im Grundzustand das Datum und Uhrzeit anzeigen 
lassen?

ich benutze noch kein PWM, kann man Device in der LCD Gui auch nur als 
On Off programmieren (geht jetzt mit der Prozentanzeige auch - ist nur 
nicht so schön)

ansonsten läuft alles prima und echt stabil.

achso da war nochwas,
nach Umzug auf einen anderen Server geht der Firmware Upload und dann 
auch das flashen nicht mehr.
Er tut so als wenn er die Firmwaredatei hochlädt, es kommt aber im 
firmware Ordner nichts an - nur in der Datenbank.
Rechte von /opt/hap habe ich schon gesetzt.
hab schon die Version von der Homepage ( 2.5.7) und auch mal den Ordner 
ha25 selbst gezippt probiert - egal geht nicht.

MfG
Manuel
#2240557
Lesenswert?

Nils B. schrieb:
> Hallo,
>
> nach anfänglichen Schwierigkeiten habe ich jetzt 2 Dimmer (über das
> Standard-Dimmer-Modul) im Einsatz!
>

Als Standart Dimmer Modul bezeichnest du die Mosfet Platine oder? Mal 
mit einem Oszi gemessen wie die Signale sind und wie sauber das Signal 
der ZCD ist? Bzw. welche Version für die CU nutzt du? Für die einfachen 
Mosfet Platinen von der HAP Seite muss das Signal invertiert sein (siehe 
weiter oben Version von Carsten)
Gast #2240708
Lesenswert?

Hallo,

Jörn A. schrieb:
> Als Standart Dimmer Modul bezeichnest du die Mosfet Platine oder?

Nein, nicht die Mosfet Platine, die andere...


> mit einem Oszi gemessen wie die Signale sind und wie sauber das Signal
der ZCD ist?

mangels Oszi leider nicht möglich :-(

> Bzw. welche Version für die CU nutzt du?

die DIL-Variante (Platine v. Charly) mit der 2.513er Firmware.


Gruß Nils
#2240789
Lesenswert?

>> Als Standart Dimmer Modul bezeichnest du die Mosfet Platine oder?
> Nein, nicht die Mosfet Platine, die andere...

Also wenn es die Platine mit Triacs ist dann musst du auf "Dimmer" 
stellen, da du nur die Zündpülse aussenden musst.

Nur die Mosfet Platine kannst du mit Cut-on oder Cut-off betreiben... 
Ich glaube "Dimmer Softstart..." ist bereits Cut-on und nicht die 
Zündpulse...

>> Bzw. welche Version für die CU nutzt du?
> die DIL-Variante (Platine v. Charly) mit der 2.513er Firmware.
Sollte bei den Triacs keine Änderungen haben...
#2249507
Lesenswert?

Hallo,

ich möchte nochmal von einem Problem mit LCD´s berichten.

Ich habe mein 2. Display in Betrieb genommen.

Wenn ich die LCD Config programmiere landet diese auch in dem 
ausgewählen Display und funktioniert.

Es wird aber dabei auch die LCD Programmierung von dem 2. Display 
ersetzt.
Es macht zwar abschliessend keinen Reset ,es geht aber nichts mehr.
Mach ich dann Reset bei dem 2. Display, funktionieren beide Display´s 
identisch.

Es ist egal welches Display ich programmier, es sind anschliessend immer 
beide gleich.

Die normale Programmierung (Devices und autonome Steuerung) funktioniert 
problemlos.

im Anhang mal das Log vom programmieren und die Moduladressen

Läuft HAP mit mehreren Display´s schon bei jemandem?

MfG
Manuel
Angehängte Dateien:
Gast #2261310
Lesenswert?

Hi,

das kann eigentlich nur was mit den Multicast-Adressen zu tun haben. Aus 
irgendeinem Grund reagieren beide Module auf die Multicast-Adressen. 
Somit wäre dann klar, warum beide Module dieselbe Display-Config 
bekommen.

Ich würde drauf tippen, dass die Deaktivierung des Multicast am Ende der 
Config nicht funktioniert.

cu,
Ben
#2265787
Lesenswert?

Falls jemand den anderen MosFet-Dimmer einsetzt, denn ich mal mit Uwe 
zusammengestrickt habe, der sollte sich mal die Modifaktion aus dem 
FreeBus-Forum anschauen.
Im Prinzip basiert die Schaltung auf diesen Dimmer nur mit geänderter 
Ansteuerung. Bei mir brennt so ca. alle paar Monate ein MosFet durch 
Netzstörungen durch. Das wird durch die dort beschriebene Mod behoben.

Gruß
Carsten
#2267592
Lesenswert?

Hallo zusammen,

ich habe die Mosfet Dimmer von der HAP Seite und seit der Installation 
10/2010 ist erst ein Mosfet fast durchgebrannt. Diesen hatte ich aber 
leider an nem E-Trafo falsch bezüglich cut-on/off eingestellt und das 
Mosfet wurde extrem warm, sodas es sich schon leicht im Lötzinn bewegen 
lies!

Ansonsten keine Defekte beim Einsatz von 15Dimmern jedoch sind die 
standbye Temperaturen trotz scheinbar optimaler ZCD Einstellungen bei 
60°C etwas hoch...
Gast #2278331
Lesenswert?

Hallo Leute,
könnte mit jemand sagen wie man AllOn bzw. AllOff makros benutzt. so wie 
ich sehe werden die Makros per IR aktiviert bzw. ausgeführt. gibt es 
eine Möglichkeit es auch mit einem Befehl auszuführen.
Oder geht es nur mit einem selbst geschriebenen Makro wo alle Device's 
einzeln ausgemacht werden müssen.

Danke für eure Ratschläge
Gast #2278454
Lesenswert?

Vielleicht verstehe ich hier was nicht richtig
1
switch(pKC.Code[0]) {
2
        case IRKCPlus:
3
          SMSetOutput(SMDevLastChange.Modul, SMDevLastChange.Device, SMSCPlus, 0, (tMDataCode *)SMControllerIR);
4
          break;
5
        case IRKCMinus:
6
          SMSetOutput(SMDevLastChange.Modul, SMDevLastChange.Device, SMSCMinus, 0, (tMDataCode *)SMControllerIR);
7
          break;
8
        case IRKCAllOn:
9
          SMSetOutput(SMC.ModulAddress, 0, SMSCAllOn, 0, (tMDataCode *)SMControllerIR);
10
          break;
11
        case IRKCAllOff:
12
          SMSetOutput(SMC.ModulAddress, 0, SMSCAllOff, 0, (tMDataCode *)SMControllerIR);
13
          break;
14

15
#define SMSCAllOn 131
16
#define SMSCAllOff 132
17

18
void SMSetOutput(tByte pModul, *tByte pDevice*, tByte pHW, tWord pDelay, tMDataCode *pMData)......

so wie ich verstanden habe wird beim programmierten Tastendruck 
SMSSetOutput erzeugt mit Modul Adresse, dann mit device 0, und den 
wert 132 (ALLOFF), delay 0,code des IR

wenn die device Adresse 0 steht dann habe ich mir gedacht dass es dann 
für alle device's handelt.

Die Makros von Carsten kenne ich. wenn es keine andere möglichkeit gibt 
dann werde ich wohl für AllOff Device's Makro schreiben müssen.
#2290629
Lesenswert?

@Ben
Irgendwie fehlt das Hauptmenü.


@All
Setzt noch jemand Reedkontakte ein? Mir fällt neuerdings auf dass oft 
der Status nicht richtig in der Datenbank steht, wenn wohl der Kontakt 
prellt oder ich Ausgänge nur kurz für 100 ms aktiviere.

Die Frage nun ob es an der Konfiguration liegt oder der Server zu lahm 
ist. Ich benutze dafür ein Dockstar (ARM 1.2 GHz) mit 16 GB SSD.

Gruß
Carsten
Angehängte Dateien:
#2293612
Lesenswert?

@Ben

Kann es sein dass bei der GUI-Statusanzeige nach dem Timestamp in der DB 
selektiert wird und nicht nach der ID?
In der Statustabelle steht alles richtig drin, nur machmal eben mit dem 
gleichen Timestamp. In diesem Fall zeigt die GUI dann einen falschen 
Status an.

Mal sehen ob ich die Stelle finde.

Gruß
Carsten
Angehängte Dateien:
#2302184
Lesenswert?

Hi,

ich habe vor die Dimmer je nach Uhrzeit und Hausstatus mit einer anderen 
Einschalthelligkeit vorzubelegen. Wenn z.B. tagsüber das Licht über den 
Taster eingeschaltet wird, soll mit eine höheren Helligkeitsstufe 
gestartet werden als nachts.
Die CU merkt sich standardmässig nur immer die letzte Helligkeitststufe 
wenn mit einem Taster geschaltet wird. Ich habe die Firmware jetzt so 
angepasst, dass auch die Helligkeitsstufe gespeichert wird die man per 
Kommando setzt.

Dann kann man durch folgende Kommandos die Helligkeitsstufe vorgeben, 
ohne dass das Licht wirklich an geht. Erst eine Schalterbetätigung ruft 
diese Stufe ab.
1
   
2
/opt/hap/bin/helper/hap-sendcmd2.pl "destination nnn set device nnn value 50 delay 100"
3
/opt/hap/bin/helper/hap-sendcmd2.pl "destination nnn set device nnn value 0"

Das erste Kommando schaltet den Dimmer mit Helligkeit 50 ein, allerdings 
mit der Verzögerungsoption.
Das nächste Kommando schaltet den Dimmer wieder aus bevor überhaupt die 
Lampe hell geworden ist. Damit startet der Dimmer beim nächsten 
Einschalten über einen Taster mit der Stufe 50.
Die Änderung der Firmware commite ich noch im laufe des Tages.

Gruß
Carsten
#2304448
Lesenswert?

Carsten W. schrieb:
> Hier ist mal ein Beispiel für eine Visualisierung (Gesamtübersicht).
>
> Gruß
> Carsten

Na das sieht doch mal richtig gut aus! Bei der Verfeinerung der 
Visualisierung bin ich aber noch Lange nicht angekommen.

Ich habe allerdings noch eine Frage wegen dem SVN, ich habe im Code 2 
Erweiterungen vorgenommen, einmal die Ansteuerung eines Licht/Frequenz 
Wandler TSL230R und dann noch einen weiteren Switch hinzugefügt (der 
Impuls tastet, also für ein paar ms schaltet, brauchte ich für meine 
Etalko Taster Module, da ich es so aufgebaut habe das man im Notfall die 
Hap Module rauswirft und ganz konventionell über Stromstoßrelais alles 
schalten kann, im Moment macht das die Server CU)

Das mit dem Etalko Teil ist wohl zu speziell und muss nicht unbedingt 
ins SVN, den Lichtsensor könnten aber vielleicht andere auch gebrauchen.

Gruß
Micha
Gast #2323962
Lesenswert?

Hallo zusammen!

Also der Thread hat mir schon sehr geholfen die wichtigsten Dinge ans 
laufen zu bringen.
Mein einziges Problem im Moment ist nur, dass ich es nicht schaffe, dass 
die CU, die über CAN an der Server CU hängt zu konfigurieren. Ich hab 
jetzt schon fast alles ausprobiert was mir so eingefallen ist (CUs 
vertauschen, neue Firmware, mehrfach Config pushen,...) aber es kommt 
immer nur bei der Server CU die Config an.
Die "letzte" CU im Bus ist anscheinend nicht erreichbar. Es kommen statt 
ACK immer nur ERR. Bus ist auch auf beiden seiten ordnungsgemäß 
terminiert und jeweils die beiden CANH und CANL miteinander verbunden.

Ich hab gleich mal die Config-Screenshots aus der GUI angehängt. 
Vielleicht fällt einem von euch was ein. Meine einzige Idee, die ich 
noch habe, wäre, dass einer von den CAN Controller/Driver irgendwas 
abbekommen hat.

Wenn notwendig kann ich auch noch die Logs von diesen Fehlversuchen 
hochladen.

Lg,
Nicolas
Angehängte Dateien:
Gast #2324815
Lesenswert?

@Eugen:
Bringt leider nichts.
Aber davon mal abgesehen: Das widerspricht allem was ich bis jetzt 
gelesen habe. Sowohl im Wiki als auch im Quick-Start Guide steht, dass 
es die nächstliegende CU ist die als Bridge definiert ist.

Noch jemand eine Idee?
Gast #2325511
Lesenswert?

Guten Morgen!

Habe gestern in meiner Verzweiflung mal meine Soundkarte als Oszi 
missbraucht und habe dann, wie ich vermutete, einen toten CAN Treiber 
als Übeltäter identifiziert. Hab dann kurzerhand noch eine weitere CU 
aufgebaut und siehe da - funktioniert.

Ursprünglich wollte ich das ganze heute in der Firma messen, aber unser 
Labor ist momentan ziemlich belegt.

Danke euch trotzdem für die Bemühungen. Werde mich die nächsten Tage 
noch ein bisschen mit der Software spielen. Jetzt hab ich endlich die 
Zeit mich in das alles einzuarbeiten. Die Bauteile liegen ja schon seit 
mehr als einem Jahr bei mir rum....

@Ben: ich würde eine Art Testplatine für die CUs entwickeln. D.h. ein 
Teil mit µC, dass die grundlegende elektrische Funktionalität überprüft 
und auch quasi kaputte Bauteile (sofern irgendwie die Pins nach außen 
geführt sind) erkennt - wie bspw. den CAN Treiber. Siehst du da einen 
Nutzen fürs Projekt?

Außerdem würde ich, wenn gewünscht, beim Wiki ein bisschen mitarbeiten - 
das ganze ein bisschen strukturieren und noch mehr "Anfänger"-Infos 
reinschreiben.

Schönen Tag,
Nicolas
Gast #2326771
Lesenswert?

@Nicolas:

Eine Mitarbeit am Wiki ist natürlich immer super.

Bin mir nicht sicher, ob die Testplatine Sinn macht. Eigentlich ist die 
CU ja nicht so komplex aufgebaut.

Dennoch sind Hardwareerweiterungen immer willkommen...

cu,
Ben
Gast #2327335
Lesenswert?

Hey leute.
Erstmal respekt zu eurem Projekt.
Bin auch gerade dabei mich in die Sache reinzuarbeiten.
Und da fangen schon die Probleme an.

1. Woher bekommt ihr die Bauteile? Den den Can Controller gibt es leider 
bei Reichelt nicht mehr.

2. Habe irgendwie Probleme die das ganze unter Ubuntu 9.04 Server 
zuinstallieren. Bekomme immer ne Fehlermeldung bei der MySQL Datenbank 
beim Nutzer anlegen. Was machte ich Falsch?

Hoffe auf eure Hilfe.
Danke
Gast #2327365
Lesenswert?

Hi,
nur als kurze Info. Ich habe mich auch mal mit dem Thema beschäftigt bin 
aber leider nicht dazugekommen das dann in mein "Hausprojekt" 
einzubauen.
Ich würde aber die Bauteile zum "Harwarepreis" gerne zur verfügung 
stellen.
Habe einige Unterputzdosen CUs, CUs in der DIL Bauweise, LCDs, Dimmer, 
Relais eine ZVD ... und wenn gewünscht noch ein 12V Netzgerät.

Soweit ich gesehen und getestet habe funktionieren bis auf 1 LCD alles 
(habe ein SMD beim einlöten verloren und noch nicht 
nachgekauft/verlötet).

lg
wolfipa
Gast #2327375
Lesenswert?

@Charly B.
Werde es morgen mal mit einem "richtigen" Oszi ausmessen. Vielleicht ist 
es auch nur eine kalte Lötstelle.

@Matze:
ad 1: Ich bestellt eigentlich immer bei Farnell. Ist in den meisten 
Fällen günstiger als Reichelt und hat auch die bessere Auswahl. Einziges 
Manko, du musst entweder einen Gewerbeschein haben oder du bist Student 
(dann bekommst du auch noch 12% Rabatt)

ad 2: Welchen Fehler bekommst du denn beim Anlegen des Benutzers?
Gast #2327904
Lesenswert?

Na ich kann bei farnell über die firma bestellen, aber wolfi, wenn du 
was da hast würde ich mich gern dafür interresieren.

Na der fehler ist:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket 
'/var/run/mysqld/mysqld.sock' (2)
dpkg: Fehler beim Bearbeiten von hap (--configure):
 Unterprozess installiertes post-installation-Skript gab den Fehlerwert 
1 zurück
Fehler traten auf beim Bearbeiten von:
 hap
E: Sub-process /usr/bin/dpkg returned an error code (1)
#2328241
Lesenswert?

Hi,

bei mir laufen mittlerweile auf dem Server doch recht viele Skripte für 
diverse Steuerungen (Rollos, Abschattung, Hausstatus usw.) .
So langsam wird es unübersichtlich, zumal ich manche Dinge später anders 
realisiert habe als zu Anfang.

Hat jemand Interresse daran sich ein Konzept für eine Einheitliche 
Verarbeitung zu überlegen?

Gruß
Carsten
Gast #2329062
Lesenswert?

@Carsten:

Liefer doch mal ein wenig Input, damit ich mir grob vorstellen kann, was 
optimiert werden muss. Hab jetzt nur deine Sonnenuntergangssteuerung im 
Kopf (Wiki). Da wurde es schon unübersichtlich, wann welches Script 
greift, bzw. von wo was getriggert wird.

@Matze:

Bist du sicher, dass dein MySQL-Server läuft?

Cu
Ben
#2332906
Lesenswert?

@Ben

Das läuft bei mir zurzeit:

1. Einmalig laufende Cronjobs um die Rollos nach täglich ausgerechnetem 
Sonnenstand zu öffnen oder zu schliessen. Ich variere dann noch nach 
Werktag und Wochenende/Feiertag. Hier werden auch Scenen abgerufen, z.B. 
"Frühstück" wo dann an Werktagen bestimmte Rollos im EG geöffnet werden 
und Beleuchtungen eingeschaltet werden.

2. Cronjob alle 5 Minuten, der Tagsüber die Abschattung für einzelne 
Fenster nach Sonnenstand und Lichtsensor steuert. Da lese ich auch 
sämtliche Temperaturen ein die in der GUI aktualisiert werden sollen.
Hier wollte ich auch ein Skript einbauen, das einen Hausstatus setzt. 
Tag/Nacht/Schlafen um z.B. die Grundhelligkeit von Dimmern entsprechend 
zu setzen oder Alarmfunktionen auszulösen.

In den einzelnen Skripten rufe ich noch diverse Tools auf:
- aktuelle Uhrzeit
- Feiertagsberechnung
- Sonnenstand (nach Standort)
- Sonnenauf- und untergangzeit (nach Standort)
- aktuellen Status eines Devices aus der Datenbank lesen
- Hilfsvariablen in die DB schreiben und auslesen

Das alles würde ich gerne mal aufräumen und irgendwie übersichtlicher 
machen.

Gruß
Carsten
#2333293
Lesenswert?

Hi,
falls jemand interesse an meinen "fertigen" Platinen hat bitte auch PN 
an mich.
@Charly: will dir keine Konkurenz machen & ausserdem vielen Dank für 
deine Hilfe. Aber ich komme einfach nicht dazu mich mit HAP weiter zu 
beschäftigen. Vielleicht wenn ich in Pension bin 2087 oder so :-(.

lg
Wolfi
Gast #2334269
Lesenswert?

@Carsten:

Wenn ich das richtig überblicke, würde es doch schon eine Menge bringen, 
wenn man den HAP-Scheduler aufbohrt, so dass auch Makro-Scripte und 
normale Shell-Scripte ausgeführt werden können. Eventuell sollte man die 
Makro-Scripte und Shell-Scripte auch zusammenführen.

Was meinst Du?

@All:

Ich denke gerade über eine Funkanbindung an Homematic-Komponenten nach.
An eine CU würde dann ein spezielles Homematic-Funkmoden angekoppelt 
werden, welches für die Protokoll-Umsetzung sorgt.

Hier und da wären kommerzielle Funk-Sensoren / Aktoren schon 
interessant....

Was meint Ihr?

cu,
Ben
#2334339
Lesenswert?

Wolfgang P. schrieb:
> @Charly: will dir keine Konkurenz machen & ausserdem vielen Dank für
> deine Hilfe.
Kein Problem Wolfgang, i hatte mal eine Sammelbestellung gemacht
und da liegen halt noch Platinen rum die ich selber verm. nie alle
brauchen werde.

> Aber ich komme einfach nicht dazu mich mit HAP weiter zu
> beschäftigen. Vielleicht wenn ich in Pension bin 2087 oder so :-(.
Du bist aber noch jung, i hoffe du hast das beruecksichtigt das
du bis 100 oder mehr arbeiten musst ;)

> lg
> Wolfi
vlG
Charly
#2335629
Lesenswert?

Ben schrieb:
> Wenn ich das richtig überblicke, würde es doch schon eine Menge bringen,
> wenn man den HAP-Scheduler aufbohrt, so dass auch Makro-Scripte und
> normale Shell-Scripte ausgeführt werden können. Eventuell sollte man die
> Makro-Scripte und Shell-Scripte auch zusammenführen.

Ich habe den HAP-Scheduler bis jetzt kaum im Einsatz und alles direkt 
als Cron-Job angelegt.
Im Prinzip gibt es doch 3 verschiedene Arten wann ein Skript/Makro 
gestartet wird.

1. Zeit der Ausführung ist vorher bekannt.
2. Bedingungen müssen periodisch geprüft werden und dann gegebenenfalls 
ein Skript/Makro oder andere Verarbeitung starten.
3. Skript/Makro wird direkt durch ein Ereignis gestartet

Wobei die Frage ist ob man den Fall 1) nicht auch über 2) steuert. Ob 
eine Rollade exakt zur berechneten Zeit hoch geht oder dies über ein 
Job, der z.B. alle 5 Minuten läuft, gemacht wird wäre ja ok.

Gruß
Carsten
Gast #2335743
Lesenswert?

@Carsten:

1 über 2 finde ich aber nicht elegant.

Der HAP-Scheduler sollte schon die richtige Anlaufstelle für den ganzen 
Kram sein. Letztlich ist es ja quasi ein Cron mit Datenbank-Anbindung 
und kann 1 & 2 problemlos abbilden.

Sollen wir ein einheitliches Script-Verzeichnis bauen, indem auch die 
Macros vorgehalten werden?

Wenn dem so ist, dann muss der HAP-Scheduler doch nur alle Scripte im 
Script-Verzeichnis mit Zugriff haben und es wären alle Konstellationen 
ohne Umwege realisierbar ?!?

Die Macro-Trigger laufen dann halt auch über das Script-Verzeichnis 
(müssen halt nur Ihre spezielle Namenskonvention im Dateinamen 
beibehalten).

cu,
Ben
#2335823
Lesenswert?

@Ben

Prinzipiell klingt deine Idee nicht schlecht. Bei dem Fall 1. (Zeit der 
Ausführung ist vorher bekannt) hatte ich aber auch veränderliche Zeiten 
gemeint, die nur einmal täglich ausgeführt werden. Zurzeit mache ich 
dies so:

Ein Skript wird täglich z.B. um 3 Uhr ausgeführt und berechnet die Zeit 
des Sonnenauf- u. Untergangs. Dann erzeuge ich darin über "at -f 
/opt/hap/var/macro/nnn -v startzeit" eine Job der nur einmal ausgeführt 
wird.

Sollte dies dann auch über den HAP-Scheduler möglich sein?

Gruß
Carsten
Gast #2335887
Lesenswert?

@Carsten:

wir nähern uns ;-)

Bei den veränderlichen Zeiten wäre es dann IMHO sinnvoll, wenn der 
Scheduler alle x-Minuten das Script anläuft und in diesem Script geprüft 
wird, ob der Startzeitpunkt schon erreicht ist. Wenn dies der Fall ist, 
wird der Rest des Scripts abgearbeitet, sonst halt nicht.

Klar, ist in Wirklichkeit etwas komplexer, da man ja das Script nur 
einmal starten will, aber das sollte ja zu machen sein....

Jedenfalls hätte man so schön alles zentral und direkt im Blick.

cu,
Ben
#2335920
Lesenswert?

Ben schrieb:
> wenn der
> Scheduler alle x-Minuten das Script anläuft und in diesem Script geprüft
> wird, ob der Startzeitpunkt schon erreicht ist

So hatte ich das auch weiter oben schon gemeint. Bei einem Rollo reicht 
es wenn es z.B. in einem 5 Minutenraster geschlossen wird und nicht zur 
exakt berechneten Zeit. Ob ein Skript dann schon mal ausgeführt wurde 
könnte man über ein Flag in die DB schreiben.
Die Skripte stehen ja eh in der DB, da könnte man doch in ein Feld die 
Ausführungszeit eintragen.

Was noch ganz elegant wäre wenn man beim Anlegen einer Aktion z.B. Rollo 
Wohnzimmer 0% eine Suchhilfe hätte. Zurzeit sieht dies so aus:
1
/opt/hap/bin/helper/hap-sendcmd2.pl "destination 211 set device 151 value 0" #WZ1
Dazu muss man sich immer erst das Device und Adresse aus der DB 
raussuchen.
Das hat aber erst mal keine hohe Priorität.

Das könnte ein schönes Winterprojekt werden ;-) .

Gruß
Carsten
#2338160
Lesenswert?

Hallo zusammen,

meine Baustelle bewegt sich langsam dem Ende entgegen und fange jetzt 
langsam wieder an HAP zu erweitern.

Gibt es Beschränkungen bzgl der Scheduler Auslastung oder theoretisch 
Überschneidungen? Kann doch eigentlich nicht sein oder?
Habe sonst immer periodisch alle 15min die wichtigsten 5 Devices 
abgefragt ohne Übertragungsfehler.

Seit dem ich auch den Status der 3 Shutter im EG auch alle 5min abfrage, 
treten ERR in der Liste auf die nicht nur die Rolloabfragen betrifft:

2011-09-08 19:00:03 - 2064 - hap-scheduler - Info - [100%] [ERR 
Prediction] vlan:0, source:107, destination:225, mtype:9, device:121, 
v0:100, v1:0, v2:0

Was bedeutet [ERR Prediction] ? Error Prognose?

Ansonsten  "- hap-scheduler - Info - [100%] [ERR] No Answer"  als Fehler 
aber komischer Weise völlig willkürlich. Die Abfrage geht paar mal, mal 
nicht. HW technisch hatte ich von der gleichen CU schon immer was 
abgefragt ohne Probleme.

Bzgl. Shutter abfrage selber :

-c "destination 100 query device 81"

hap-scheduler - Info - [100%] [ACK] config HAP vlan 0 source 100 
destination 225 query device 81 value 100 
[C:133,V:0,S:100,D:225,MT:9,DEV:81,V1:100,V2:0,V3:0]

per Terminal das gleiche...
Gast #2340460
Lesenswert?

Jörn A. schrieb:
> Gibt es Beschränkungen bzgl der Scheduler Auslastung oder theoretisch
> Überschneidungen? Kann doch eigentlich nicht sein oder?
> Habe sonst immer periodisch alle 15min die wichtigsten 5 Devices
> abgefragt ohne Übertragungsfehler.

Eigentlich nicht, es sei denn ich mir irgendwo Mist zusammen 
programmiert. Soll ja mal vorkommen....

>
> Seit dem ich auch den Status der 3 Shutter im EG auch alle 5min abfrage,
> treten ERR in der Liste auf die nicht nur die Rolloabfragen betrifft:
>
> 2011-09-08 19:00:03 - 2064 - hap-scheduler - Info - [100%] [ERR
> Prediction] vlan:0, source:107, destination:225, mtype:9, device:121,
> v0:100, v1:0, v2:0
>
> Was bedeutet [ERR Prediction] ? Error Prognose?
>

Wenn ein Kommando über den Server versendet wird, dann berechnet der 
Server auch die mögliche Antwort. Wenn die Antwort nicht mit der 
Berechnung übereinstimmt, kommt ERR Prediction.

> Ansonsten  "- hap-scheduler - Info - [100%] [ERR] No Answer"  als Fehler
> aber komischer Weise völlig willkürlich. Die Abfrage geht paar mal, mal
> nicht. HW technisch hatte ich von der gleichen CU schon immer was
> abgefragt ohne Probleme.

Du müsstest mal ein Log anhängen, damit wir mal vergleichen können, was 
versendet wurde und was zurück kommt.

Am besten mal den Message-Processor im Vordergrund laufen lassen und 
schauen was passiert, wenn der Scheduler die Anfragen absendet.

cu,
Ben
#2341819
Lesenswert?

Hallo Ben,

vielen Dank. Konnte durch neu anlegen der Shutter das Problem teilweise 
beheben und Logs  lade ich dann noch hoch.

Gibt es eigentlich beim Start des Rechner & HAP die Möglichkeit gewisse 
Abfragen einmalig auszuführen? Da der Rechner über Nacht aus ist fehlen 
teilweise die Stati von Rollos sofern sie übermacht bedient wurden oder 
von Lichtern u.s.w.

Habe in der GUI ein Makro was alle Werte einmal abfragt & updated aber 
müsste ich immer manuell aufrufen.
Gast #2342226
Lesenswert?

@Jörn:

Entweder Du bedienst dich der Linux-Bordmittel und triggerst deine 
Abfragen nachdem die HAP-Dienste oben sind oder startest über den 
Scheduler die Abfragen 5min nachdem der Server wieder online ist.

cu,
Ben
#2346115
Lesenswert?

@Ben

Hallo,

habe leider immer noch Errors mit drin, die ich nicht identifizieren 
kann bzw nicht verstehe ob es evtl immer der selbe Scheduler item 
verursacht!

Angehängt mal die Logs aus HAP, der Terminalinhalt und die Scheduler 
items. Vielleicht kannst du ja etwas draus deuten. Die Abstände sind 
unregelmäßig und ings. kommen alle Scheduler aufrufe auch irgendwann 
erfolgreich durch, soweit ich es sehen konnte.
Angehängte Dateien:
#2346284
Lesenswert?

@all

Folges bash script sollte mein Versuch sein das Ausführen von Scripts 
nach dem Laden des HAP Tasks lösen und läuft auch wunderbar aber weis 
jemand ob man die Dauerschleife irgendwie durch delays nicht so 
Prozesserhungrig gestallten kann sofern es sowas gibt?
1
#! /bin/bash
2

3
while [ "$(pidof hap-mp.pl | tr -d '0123456789' | wc -c)" == "1" ]
4
do
5
echo " HAP not yet running"
6
done
7

8
# run here  update script after hap-mp.pl is started
9

10
exit 0
#2346613
Lesenswert?

Hallo zusammen,

sleep scheint die Lösung im bash zu sein. Werde das ganze ins Wiki 
packen und da weiterverfolgen, da editieren ja hier im Forum schon nach 
15min nicht mehr möglich ist.

Noch besser allerdings als das ich die Daten auslesen kann beim Start 
ist, dass ich ebenfalls Firefox definiert starten kann und so nicht 
immer die Fehlermeldung kommt, das HAP noch nicht offen ist...
#2352497
Lesenswert?

@Ben

Zu der Skript/Makro-Geschichte:
Ich hole mir viele Anregungen im KNX-User-Forum und habe mir dort mal 
Wiregate genauer angeschaut. Ist Linux/Perl basiert und arbeitet mit 
Plugins, in denen man Steuerungen programmieren kann.
Im Prinzip ist es eigentlich das, was HAP noch fehlt.

http://scm1.elabnet.de/trac-wiregate/browser/wiregated/trunk/usr/sbin/wiregated.pl

http://openautomation.svn.sourceforge.net/viewvc/openautomation/wiregate/plugin/generic/

http://knx-user-forum.de/wiregate/6378-wiregate-1-wire-eib-knx-gateway-einfuehrung-faq.html

Ich lese mich noch weiter da ein und habe inzwischen angefangen meine 
diversen Funktion (DB-lesen/schreiben usw.) zu überarbeiten.


Noch eine Frage. Warum schreibst du in die Statustabelle die Module ID 
und nicht die Module-Adresse? Hintergrund ist dieser:
Wenn ich ein Device direkt über den Bus lesen will, benötige ich die 
Module-Adresse.
1
can_read('202/150');
 (Module-Adresse/Device-Adresse)

Will ich den Status aus der DB lesen benötige ich allerdings die ID des 
Moduls.
1
db_read('260/150');
 (Module-ID/Device-Adresse)

Klar kann man diese über einen weiteren Select vorher lesen, die Frage 
ist nur ob dies wirklich so sein muss. Zur Vereinfachung würde ich gerne 
nur eine Art der Adressierung in den Helpfunktionen benutzen.

Gruß
Carsten
#2354333
Lesenswert?

Hi,

falls jemand zur Berechnung des Sonnenaufgang und Untergang das Programm 
rscalc2 benutzt, soll dies durch die angehängte Version ersetzen.

Das Programm liefert seit heute falsche Werte!
Hatte mich schon gewundert warum meine Rollos heute Morgen so spät hoch 
gingen. Die Taglänge ist zwar immer noch falsch aber das Programm 
braucht man demnächst eh nicht mehr.

Gruß
Carsten
Angehängte Dateien:
Gast #2354352
Lesenswert?

@Jörn:

Bezüglich deiner ERR-Predictions:

Anhand der Logs kriege ich das Problem nicht eingegrenzt.

Du müsstest mal händisch ein paar Debug-Zeilen in den Message-Processor 
und die MessageRoutines.pm einfügen.

In der MessageRoutines.pm ist die compare-Funktion massgeblich.

Im Message-Processor die Sub tcpClientOutput. Da wird die 
Compare-Funktion aus den MessageRoutines aufgerufen.


Jedenfalls wird da mit einer Liste/Array hantiert, wo die möglichen 
Antwortpakete drin stehen. Ich vermute, dass aufgrund von 
Timing-Problemen die Antwort gar nicht in der Liste vorhanden ist.

Das müssten wir mal runterbrechen....

cu,
Ben
Gast #2354423
Lesenswert?

Hi,

Carsten W. schrieb:
> Noch eine Frage. Warum schreibst du in die Statustabelle die Module ID
> und nicht die Module-Adresse? Hintergrund ist dieser:
> Wenn ich ein Device direkt über den Bus lesen will, benötige ich die
> Module-Adresse.

ich vermute ich hab das damals gemacht, wegen der GUI. Da ist alles ID 
basiert und die IDs sind eindeutig solange es das Modul gibt. Wenn sich 
jedoch mal die Modul-Adresse ändert muss ich das in allen Tabellen wo 
ebenfalls die Adresse verwendet wird auch berücksichtigen. Aus DB-Sicht 
ist das def. sauberer.

Halt die üblichen DB-Geschichten.

cu,
Ben
Gast #2366018
Lesenswert?

Hey leute.

Ich glaub ich stell mich zu blöd an, hab das ganze jetzt am laufen, aber 
komm einfach nicht dahinter wie ich nen ausgang anschließe.

Will einfach das nen taster ne lampe schaltet, taster ist dran, wird 
auch erkannt wenn ich ihn drücke, aber am ausgang passiert nix.
Gast #2366205
Lesenswert?

@ Matze:

geh auf die HAP Homepage, schau Dir im Wiki die Beispiele an.

Besonders die AC-Programmierung für die Ausgangszuweisung.

Zum Testen:

Leg mit der GUI einen Ausgang an ("SWITCH"), Portpin und Adresse 
zuweisen.

Meßgerät oder Led an den Pin, dann unter /opt/hap/bin/

./hap-cmd.pl

destination xx (CU Adresse) set device xx (Device Adresse) value 1 bzw. 
0

Das MUSS funktionieren.


MfG  Uwe
#2366244
Lesenswert?

Hallo,

im Wiki ist es wie ich finde gut beschrieben. Hier noch einmal ein 
Beispiel mit den notwendigen Einstellungen, um über einen Taster ein 
Dimmer auf der gleichen CU zu schalten.... Notify vom Taster ist die 
selbe CU?

Kannst du denn den PIN direkt schalten, hier mal ein Beispiel?

CU_ID = 100
Lampe_ID = 80
Wert = 100 (an)
1
cd /opt/hap/bin/helper
2

3
./hap-sendcmd2.pl "destination 100 set device 80 value 100"
Angehängte Dateien:
Gast #2369973
Lesenswert?

Hey leute.

Eine Frage hab ich noch, wie realisiere ich es, das ein taster eine 
lampe einschaltet, und diese nach einer eigestellten zeit von 120sec 
wieder ausgeht, erneuter tastendruck, wieder 120sec.

Hab es bisher nur hinbekommen, das wen ich den taster drücke, geht die 
lampe für 120sec an, danach passiert nix mehr, kann den taster drücken 
wie ich will. Über gui kann ich den ausgang aber manuell anschalten.

Danke für eure hilfe
#2370008
Lesenswert?

Hallo Matze,

du sollst schon ein wenig WIKI lesen. Und Dokumentation nicht 
vergessen(da sind alles Gatter von der Autonome Steuerung beschrieben ab 
Seite 73)

http://wiki.netmb.net/index.php/Autonome_Steuerung:_Bewegungsmelder_schaltet_Ausgang_mit_Zeitverz%C3%B6gerung

statt Bewegungsmelder einfach den Taster nehmen.

"Input Passive" und "Input Passive Volatile" sind 2 verschiedene Sachen.

Doku lesen.

Grüß Eugen
#2371358
Lesenswert?

Ich habe in der Firmwareversion 2.5.13 im SVN die Positionsbestimmung im 
Rollomodul geändert. Es gab immmer mal Probleme dass ein Rollo nicht die 
Endlage erreicht hat.
Im Dimmermodul ist auch noch ein Bugfix für die Speicherung des letzten 
Helligkeitswertes.


@Ben
Ich probiere immer noch einige Sachen für die Erweiterung 
Serverfunktionen aus. Probehalber habe ich in den MessageProcessor eine 
Funktion eingebaut um Eventgesteuert Skripte aufzurufen. Bei Eingang von 
Nachrichten über eine bestimmte Multicastadresse wird ein Skript 
aufgerufen. Als Parameter werden noch sämtliche Werte des auslösenden 
Devices übergeben.

Bei mir senden z.B. alle Fensterkontakte auf einer Multicastadresse, so 
kann ich Lüftungs- und Alarmfunktionen recht einfach realisieren.

Ist das zu speziell oder könnte dies auch ins SVN?

Gruß
Carsten
Gast #2374978
Lesenswert?

Da ich bald in ein Haus umziehe muß die ganze HAP-Installation natürlich 
mit ;)

Bisher habe ich die Taster mit +12 Volt versorgt und bin damit auf 
Optokoppler gefahren. Der Ausgang des Optokopplers hat dann den 
Eingangspin der CU auf GND gezogen.

Die Verdrahtung ist aber nicht mit Netzwerkkabeln oder ähnlichem erfolgt 
sondern mit einfachen 1.5mm² Drähten. (kein gefummel beim anklemmen der 
Taster usw.)

Da ich nun über 50 Eingänge benötige wird die Optokoppler Lösung sehr 
Platzaufwendig.

Wenn ich aber GND auf die Taster lege und das Signal dann direkt auf die 
Eingangspins der CU lege, habe ich bedenken das ich mir durch 
benachbarte 230V Leitungen Störungen einfange. (z.B. Steckdose direkt 
unter dem Schalter, nur ein Rohr für die Drähte.)

Wie habt Ihr die Verdrahtung ausgeführt ?



MfG   Uwe
Gast #2375805
Lesenswert?

UweB schrieb:
> Wenn ich aber GND auf die Taster lege und das Signal dann direkt auf die
> Eingangspins der CU lege, habe ich bedenken das ich mir durch
> benachbarte 230V Leitungen Störungen einfange. (z.B. Steckdose direkt
> unter dem Schalter, nur ein Rohr für die Drähte.)

Hi,

wäre mir aber zu heiss, beides in einem Rohr und dann auch noch ohne 
Kabelunterscheidung. Da hat man ja mal schnell 230 auf die CU gelegt :-)

Kannst du kein EIB-Kabel mit ins Rohr legen? Das wäre ja dann sogar 
"regelkonform".

cu,
Ben
Gast #2375810
Lesenswert?

Carsten W. schrieb:
> Ich probiere immer noch einige Sachen für die Erweiterung
> Serverfunktionen aus. Probehalber habe ich in den MessageProcessor eine
> Funktion eingebaut um Eventgesteuert Skripte aufzurufen. Bei Eingang von
> Nachrichten über eine bestimmte Multicastadresse wird ein Skript
> aufgerufen. Als Parameter werden noch sämtliche Werte des auslösenden
> Devices übergeben.
>
> Bei mir senden z.B. alle Fensterkontakte auf einer Multicastadresse, so
> kann ich Lüftungs- und Alarmfunktionen recht einfach realisieren.
>
> Ist das zu speziell oder könnte dies auch ins SVN?

Hi,

nö, kann IMHO ruhig mit ins SVN. Idealerweise natürlich mit einer 
Beispielconfig im Wiki.

cu,
Ben
#2376435
Lesenswert?

@UweB

Bei mi im Haus habe ich alle Taster bzw. Sensoren per Cat7  direkt mit 
den CUs verbunden. Kurz vor dem Schaltschrank liegt der Schirm des Cat7 
auf einer Erdungsschiene für Coax Kabel.
Steckdosen sind bei mir außerdem nicht direkt unter den Tastern sonder 
alle ca. 30cm über dem Boden... Finde es furchtbar wenn man im dunkeln 
anstatt den Taster die Steckdose erwischt (auch wenn ne Kindersicherung 
alles abdeckt und nichts passiert...).

Ich schalte alles mit den normalen 230V Tastern von BJ bzw. Gira 24 
Sensortastern und hatte bis jetzt keinerlei Störungen oder anderen 
Probleme. Damit die 0,6mm Leitung auch ohne fummeln in die normalen BJ 
Taster passt habe ich das Ende einfach mit einer Aderendhülse versehen. 
Passt perfekt rein (auch von der Länge)...
Gast #2387652
Lesenswert?

So läuft alles perfekt.
Nur noch eine Frage. Wenn ich http:\\meinserver:8090\iphone aufrufe, 
sehe ich nix, muss immer erst über die gui und dann wieder zurück. Gibt 
es eine möglichkeit ddie iphone seite auch direkt mit login aufzurufen?
#2392878
Lesenswert?

Hallo,

nach langer Suche nach einem Hasubussystem auf CAN-Basis bin ich auf HAP 
gestoßen und will es mal ausprobieren. Da wir gerade draußen renovieren 
will ich mit der Beleuchtung für Garage/Carport und Garten anfangen. Ich 
möchte eine CU mit Linux-Rechner in Keller stellen und die andere CU in 
die Garage.
Hier jetzt meine Fragen:
1. Kann ich mit der CU im Keller auch Ein- und Ausgänge bedienen oder 
läuft die nur als Gateway?
2. Hat noch jemand "nackte" Platinen oder auch fertig aufgebaute übrig 
(hab leider nicht die Zeit mit Laserdruck und Katalogpapier zu 
experimentieren)?

Gruß, Stefan
#2398108
Lesenswert?

Steuert eigentlich schon jemand seine Heizung über HAP?

Ich habe mal probeweise die Fussbodenheizung des EG angeklemmt, die 
Sache ist aber alles andere als einfach. Einen 2-Punktregler kann man ja 
schnell in der autonomen Steuerung zusammenbauen, ist aber wie vermutet 
durch die riesigen Überschwinger unbrauchbar.
Als nächsten Schritt habe ich mich am PI-Regler mit PWM Ansteuerung der 
thermischen Stellantriebe versucht, wie es in den KNX Heizungsaktoren 
realisiert ist.
Der PI-Regler läuft als Perlskript alle 5 Min. und setzt das 
Switchdevice an dem der Stellantrieb hängt auf einen Wert zwischen 0 und 
100. Das Switchdevice habe ich provisorisch erweitert, dass die Werte 
zwischen 1 und 99 als PWM mit einer Zykluszeit von 20 Min. interpretiert 
werden.
Läuft zwar schon wesentlich besser aber ganz zufrieden bin ich noch 
nicht.

Ich bin mir auch noch nicht sicher wie man ein "langsames" PWM-Device 
ordentlich in HAP integrieren kann. Zurzeit sind halt alle Parameter 
fest in der Firmware vorgegeben. Ein anderer Ansatz wäre es, die PWM als 
Modul für die autonome Steuerung umzusetzen.

Gruß
Carsten
Gast #2401093
Lesenswert?

@Carsten

Da ich gerade bei der Verkabelung bin (bis zum Heizungsregler dauert es 
noch eine Weile),

was für einen Ventilantrieb nutzt Du ?

Ich hab zum Testen die thermischen Ventilantriebe von Jung.

Wenn man den Antrieb nun an einen Dimmerbaustein anschließt, müsste man 
doch über ein Dimmerdevice 0-100% Ansteuerung des Ventils einstellen 
können.


MfG Uwe
#2401305
Lesenswert?

@Uwe

Die thermischen Stellantriebe werden bei allen mir bekannten KNX 
Heizungsaktoren mit einer PWM Zykluszeit von 15 - 30 Min. angesteuert. 
Sie werden also immer komplett geöffnet und verschlossen.
Irgendwo habe ich mal gelesen dass dies wohl weniger Erngie verbraucht, 
als wenn man die Stellantriebe mit einer kurzen PWM Zykluszeit von etwa 
3 Min. betreibt und so Zwischenstellungen ermöglicht und einen 
dauerhaften Wasserdurchfluss hat.
Ich bleibe jetzt auch erstmal bei der ersten Ansteuermethode.

Noch ein Tipp: Wenn du im Badezimmer eine FBH bekommst, bau dir einen 
Temperatursensor in den Estrich ein. Mein Heizungsbauer hatte mir 
erzählt so was braucht man nicht und ich hatte es aus Zeitmangel nicht 
mehr verfolgt.
Eine Wohlfühlbodenemperatur hat nichts mit der Raumtemperatur zu tun! 
Ich muss dass jetzt irgendwie anhand der Vorlauftemperatur im Verteiler 
messen ... .

Gruß
Carsten
#2403572
Lesenswert?

@ Ben

Ich hatte mir auch mal ein Script zum löschen alter Einträge in der 
Status-Tabelle geschrieben, hatte aber wohl vergessen das ins SVN zu 
übertragen.

Der Unterschied zu deiner Variante ist, dass egal welches Datum 
eingestellt ist der letzte Status eines Devices erhalten bleibt.
Ich baue das mal in dein Script ein und dann kann man ja überlegen dies 
zu übernehmen.

Gruß
Carsten
Gast #2419212
Lesenswert?

Hab mal wieder die RGraph-Lib einem Update unterzogen. Mich hat es immer 
gestört, dass man das Grid nicht mit den Y-Werten synchronisieren 
konnte.

Das funktioniert jetzt. Leider sind immer noch max. 10 Y-Werte in der 
Darstellung möglich.

cu,
Ben
Gast #2424410
Lesenswert?

Hallo Leute,
Hat schon jemand gehabt dass Dallas mal richtige mal falsche werte 
liefert. Also paar mal war der Wert (mehr oder weniger) richtig. und 
dann ganz komische werte.
mal -16, mal 0.75, mal 7 und so weiter die werte sind unterschiedlich.

Danke

grüß Eugen
#2427300
Lesenswert?

Hallo,

habe einen Fehler beim Timer(min) entdeckt.
Es wird die Prop.2 nicht gesetzt. In der Datenbank ist der Wert leer.
Beim Laden der Konfig in die CU kommt eine Fehlermeldung (siehe Log 
Auszug)

---------------------------
destination 10 ac-object 22 property 0 value 32

[ACK] config Zu Hause vlan 12 source 10 destination 237 ac-object 22 
property 0 value 32 
[C:132,V:12,S:10,D:237,MT:101,DEV:22,V1:0,V2:32,V3:0]

destination 10 ac-object 22 property 1 value 44

63%] [ACK] config Zu Hause vlan 12 source 10 destination 237 ac-object 
22 property 1 value 44 
[C:132,V:12,S:10,D:237,MT:101,DEV:22,V1:1,V2:44,V3:0]

destination 10 ac-object 22 property 2 value

[63%] % Incomplete command
----------------------------

funktionieren tut aber alles.

Könnt Ihr das bitte bei Gelegenheit fixen.

Dann noch eine Frage:
Gibt es eine Möglichkeit einen Timer so einzurichten das er alle z.B.
5 Minuten einen Impuls für paar Sekunden erzeugt? (direkt auf der CU)

MfG
Manuel
#2427442
Lesenswert?

@ Carsten W.

Ja, hab schon fast die ganze Heizung umgestellt.
Benutze Hap aber noch nicht zur Temperaturregelung in den Räumen sondern 
für die Regelung der Vorlauftemp, Warmwasserbereitung, Pumpensteuerung, 
Pufferspeicherüberwachung etc für 2 Wohneinheiten. Ich hab´s so 
programmiert das alles auch ohne Linux Server funktioniert.

Die Temperaturregelung im Wohnraum scheitert noch an der dort plazierten 
CU.
Die ist mit Display, Temperatursensor, (Lichtsensor), Relais. Das 
funktioniert auch alles, aber es darf immer nur eine dieser CU´s am Bus 
sein. Beim Umprogrammieren des LCD werden immer alle angeschlossenen 
CU´s mit LCD neu programmiert.
Bin noch nicht dazu gekommen den Fehler zu suchen - deshalb auf dieser 
Baustelle Standby. Vieleicht hat jemad eine Idee - der Bock muss 
irgentwo in der Adressierung der LCD Module liegen. Anscheinend werden 
immer alle angesprochen.

Wenn´s fertig ist soll die CU  dann eigentlich einen elektrischen 
Stellantrieb am Heizkörper steuern und die Temperatur regeln.

MfG
Manuel
Gast #2427864
Lesenswert?

@Manuel:

Der Startwert beim Timer(m)-Objekt erwartet einen Punkt in der 
Wertangabe (für die 1/10s). Ist etwas blöd, dass darauf nicht 
hingewiesen wird.

Ich hab das jetzt so geändert (SVN >= 69), dass auch Werte ohne Punkt 
angenommen werden..

Du müsstest die Sequenz nochmal in der GUI öffnen und wieder speichern, 
dann sollte das passen.

cu,
Ben
#2428356
Lesenswert?

@Manuel
Die Heizung an sich wird bei mir über ein eigenes Steuergerät geregelt, 
da macht es keinen Sinn dies zu ändern bzw. darf ich es auch nicht.
Ich regel nur die Raumtemperatur über die Stellantriebe der FBH. 
Testweise läuft dies zurzeit nur in zwei Räumen, weil ich noch einen 
Aktor für die Ansteuerung bauen muss.
Ich denke ich werde den PI-Algorithmus auch weiterhin als Perlscript 
laufen lassen, da die ganzen Schaltkriterien schon recht Umfangreich 
sind. Da wären die Paramter für den PI-Regler, verschiedene Temperaturen 
(Komfort, Standby, Nacht), Anwesenheitserkennung, Frostschutz bei 
geöffnentem Fenster usw. .
Hier ist mal der jetzige Teststand des Skriptes, damit man sich dies mal 
vorstellen kann:
1
#!/usr/bin/perl
2
# PI-Raumtemperaturregler
3
#
4
# Standardeinstellungen: 
5
# Fussbodenheizung:     Proportionalbereich = 5 K, Nachstellzeit = 240 min
6
# Warmwasserheizkörper: Proportionalbereich = 5 K, Nachstellzeit = 150 min
7
#
8

9
require '/opt/hap/var/scripts/help.pl';
10
require '/opt/hap/var/scripts/feiertag.pl';
11

12
# Konfiguration
13
my $Frostschutz    = 7.0;
14
my $Ventilschutz   = 1;         # 0/1 Ventile werden 1 mal pro Woche geöffnet
15
my $AbwesendDA     = '204/206'; # LED 1 CU4
16
my $stellzeit      = 3;         # Stellzeit des Ventilantriebs in Min.
17
my $zykluszeit     = 20;        # PWM Zykluszeit in Min.
18
my $dt             = 300;       # Aufrufzyklus des Skriptes in Sek.
19

20
my @Raeume = (
21
  { Name=>'EG', Ventil=>'202/204', Sensor=>'203/150', Fenster=>['201/208','204/214','206/216','206/217'],
22
    Nachstellzeit=>'200', Proportionalbereich=>'1.5',
23
    Komfort=>'22.2', KomfortStart=>  '0400', KomfortEnde=>  '2200',
24
                     KomfortStartWE=>'0600', KomfortEndeWE=>'2300',
25
  Standby=>'22.0',
26
  Nacht=>  '20.0', 
27
  },
28
  { Name=>'KD', Ventil=>'212/217', Sensor=>'212/151', Fenster=>['211/204','211/207'],
29
    Nachstellzeit=>'200', Proportionalbereich=>'2',
30
    Komfort=>'22.0', KomfortStart=>  '0700', KomfortEnde=>  '1700',
31
                     KomfortStartWE=>'0800', KomfortEndeWE=>'1700',
32
  Standby=>'20.0',
33
  Nacht=>  '18.0', 
34
  }
35
);
36

37
# Aktuelle Zeit lesen 
38
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
39
if ($wday == 0) {$wday = 7;}      # M0 = 1 -> SO = 7
40
if (feiertag() == 1) { $wday=8; } # Falls heute ein Feiertag ist $wday=8
41
$hour = sprintf "%02d",$hour;
42
$min  = sprintf "%02d",$min;
43
my $time = "$hour$min";
44

45
my $minstellung = int( $stellzeit / ($zykluszeit / 100) + .5 ); 
46

47
# Schleife über alle Räume
48
foreach my $Raum (@Raeume) {
49
  my $istwert = can_read($Raum->{Sensor});
50
  if ($istwert >= 2048) {$istwert=(~$istwert+1 & 65535)*-0.0625;}
51
  else {$istwert=$istwert*0.0625;}
52
   
53
  # Komforteinstellung:
54
  # MO - FR
55
  if ($wday >= 1 && $wday <= 5) {
56
    if ($time >= $Raum->{KomfortStart} && $time <= $Raum->{KomfortEnde}) {
57
      $sollwert = $Raum->{Komfort};
58
  }
59
  }
60
  # Wochenende oder Feiertag   
61
  else {
62
    if ($time >= $Raum->{KomfortStartWE} && $time <= $Raum->{KomfortEndeWE}) {
63
      $sollwert = $Raum->{Komfort};
64
  }
65
  }
66
  # Standbyeinstellung:
67
  if (db_read($AbwesendDA) == 100 && $Raum->{Standby} != '') {
68
    $sollwert = $Raum->{Standby};
69
  }
70
  # Nachteinstellung:
71
  # MO - FR
72
  if ($wday >= 1 && $wday <= 5) {
73
    if ( !($time >= $Raum->{KomfortStart} && $time <= $Raum->{KomfortEnde})) {
74
      $sollwert = $Raum->{Nacht};
75
  }
76
  }
77
  # Wochenende oder Feiertag   
78
  else {
79
    if ( !($time >= $Raum->{KomfortStartWE} && $time <= $Raum->{KomfortEndeWE})) {
80
      $sollwert = $Raum->{Nacht};
81
  }
82
  }  
83
  # Frostschutz: bei offenem Fenster  
84
  if ($Raum->{Fenster} != '') {
85
    my $auf = 0;  
86
    foreach my $Fenster (@{ $Raum->{Fenster} }) {
87
      if (db_read($Fenster) == 4) {$auf = 1; last;}
88
    }
89
  if ($auf == 1) {$sollwert = $Frostschutz;} 
90
  }
91
  # Sollwert setzen
92
  my $sollwert_alt = var_read("$Raum->{Name} sollwert");
93
  if ($sollwert_alt != $sollwert) {
94
    var_write("$Raum->{Name} sollwert",$sollwert);
95
  var_write("$Raum->{Name} esum",0);
96
  }
97
  # Ventilstellung berechnen
98
  my $esum = var_read("$Raum->{Name} esum");
99
  my $esum_alt = $esum;
100
  my $ventilstellung_alt = var_read("$Raum->{Name} ventilstellung");
101
  my $kp = 1.0 / $Raum->{Proportionalbereich};
102
  my $error = $sollwert - $istwert;
103
  # I Anteil Berechnen
104
#  if ($error <= 0) { $esum = 0;}     # Test I-Anteil bei Solltemperatur löschen  
105
  $esum = $esum + $error * $dt;
106
  my $integral = $esum / (60.0 * $Raum->{Nachstellzeit});
107
  # P Anteil addieren
108
  my $ventilstellung = 100.0 * $kp * ($error + $integral);
109
  # clip bei Maximum um windup zu verhindern
110
  if($ventilstellung > 100) {
111
    $ventilstellung = 100;
112
    $esum = (1.0 / $kp) * 60.0 * $Raum->{Nachstellzeit};
113
  }
114
  # clip bei Minimum
115
  if($ventilstellung < 0 || $esum < 0) {
116
    $ventilstellung = 0 if $ventilstellung < 0;
117
    $esum = 0;
118
  }
119
  $ventilstellung = int($ventilstellung+0.5);
120
  if($ventilstellung > 0 && $ventilstellung < $minstellung) {$ventilstellung = $minstellung;}
121
  # Ventilschutz: 1 mal pro Woche für eine Stunde den Minimalwert senden
122
  if ($Ventilschutz == 1 && $wday == 7 && $hour == 8 && $ventilstellung == 0 )  {
123
    $ventilstellung = $minstellung;
124
  }
125
  if($ventilstellung_alt != $ventilstellung) {
126
    if($Raum->{Ventil} != '') {
127
      can_write($Raum->{Ventil},$ventilstellung);
128
    }  
129
    var_write("$Raum->{Name} ventilstellung",$ventilstellung);
130
  }
131
  if($esum_alt != $esum) {
132
    var_write("$Raum->{Name} esum",$esum);
133
  }
134
}
Gast #2440991
Lesenswert?

Hi,

ich plane in den nächsten Tagen / Wochen das Wiki sowie die eigentliche 
HAP-Homepage auf der Googlecode-Projektseite zu konsolidieren.

Ich könnte noch Unterstützung bei der Wiki-Migration gebrauchen. 
Letztlich ist das ein Cut & Paste-Vorgang mit einigen kleinen 
Anpassungen pro Artikel.

Möglicherweise sollten wir in dem Zusammenhang auch mal etwas Struktur 
in das Wiki bringen...

Wer mag mir helfen?

Voraussetzung: Ein Google-Account.

cu,
Ben
#2442838
Lesenswert?

@Ben: ich hatte dir vor ein paar wochen ein email geschrieben. hab 
leider noch keine antwort bekommen (vl war auch die adresse falsch). 
aber ja, ich bin gerne bereit zu helfen :-)
ich hätte auch ein paar änderungen am code fürs webinterface zu 
comitten. hauptsächlich schönheitskorrekturen.
evtl sollte man auch in erwägung ziehen die diskussionen über hap auch 
woanders hinzuverlagern. weil mittlerweile is es schon ziemlich 
unübersichtlich.

schöne grüße
nico
Gast #2447126
Lesenswert?

@Nicolas @Jörn @Eugen:

Von Euch bräuchte ich noch die google-mail-accounts damit ich Euch als 
Committer bei google hinterlegen kann.

Ich würde vorschlagen, sämtliche Wiki-Artikel inkl. Bilder ins 
hap.googlecode-Wiki zunächst 1:1 zu übertragen. Die Wiki-Syntax ist 
etwas anders, so dass für jeden Artikel einige Änderungen vorzunehmen 
sind (ist aber nicht viel). Die extrahierten Bilder müssten auch 
hochgeladen werden.

Parallel sollten wir uns um eine bessere Struktur des Wiki kümmern...

Jeder der einen Wiki-Artikel migriert, sollte vorab ein leeres Dokument 
mit dem richtigen Titel anlegen, so dass die anderen Teilnehmer sehen, 
welche Dokumente bereits in Arbeit sind.

Ich schicke Euch schon mal den Admin-Account für's alte Wiki per Mail 
zu.

cu,
Ben
#2453372
Lesenswert?

Hallo,

musste leider nach einer defekten HD nun Ubuntu neu aufsetzen. Nach dem 
aufspielen des Image und update auf die aktuellste Version von HAP via 
Subversion nach der Erstellten Anleitung kann ich leider nicht mehr den 
Server zugreifen.

Rechner IP ist 192.168.0.11.
Die USB Verbindung zu den CU baut er wunderbar auf und kommuniziert aber 
leider die Weboberfläche bleibt verschlossen!

joern@ubuntu:/opt/hap/bin$ ./hap-mp.pl
10592: Server 4 got bind error 98 (Address already in use)
Connection to 192.168.0.11:8090 lost. Trying reconnect...
Connection to 192.168.0.11:8090 lost. Trying reconnect...

Hab ich mir was zerschossen?
Gast #2453863
Lesenswert?

Hi,

du versuchst dich mit dem Messageprocessor auf den Webserver zu 
verbinden. Das ist ja nicht richtig.

Der Messageprocessor versucht nicht auf den USB-Port zuzugreifen, 
sondern den USB-Port über's Netzwerk zu erreichen. Das musst Du in der 
hap.yml umstellen.

In der hap.yml ist wahrscheinlich diese Sektion hier aktiv:

ServerCUConnection:
  Type: 'Network'
  Host: 192.168.165.7
  Port: 10001

(hast Du 10001 durch 8090 ersetzt? - das ist falsch).

Wenn der Server mit der CU direkt über USB redet muss aber diese Sektion 
aktiv sein:

ServerCUConnection:
  Type: 'Serial'
  Ports: [ '/dev/ttyUSB0', '/dev/ttyUSB1' ]

.. und die andere muss deaktiviert werden.

cu,
Ben
#2453903
Lesenswert?

Guten Morgen,

besten Dank, aber ging leider mit Port 10001 oder anderen auch 
nicht(ähnliche Meldung) also:

ServerCUConnection:
  Type: 'Network'
  Host: 192.168.0.11
  Port: 10001
#ServerCUConnection:
# Type: 'Serial'
#Ports: [ '/dev/ttyUSB0', '/dev/ttyUSB1' ]

Hab jetzt ein neueres Image meiner Backups aufgespielt wo bereits alles 
zur Verwendung von Subversion bei war und jetzt läuft wieder.
Zuvor hatte ich folgendes ausgeführt, um Subversion zu verwenden siehe 
Wiki

sudo apt-get install build-essential
sudo PERL_MM_USE_DEFAULT=1 cpan Catalyst::Runtime Catalyst::Devel

und da Ubuntu 9.10 nicht mehr supported (server war geändert) wird gab 
es etliche Fehlermeldungen.
Ich weis nicht ob es überhaupt was damit zu tun hat, aber irgendeinen 
Einfluss gab es scheinbar, das es dann nicht mehr lief...

---------------

Andere Frage:

Kann man aktuell auch von HAP server aus bash scripts auslösen, wenn ein 
Parameter den gewünschten Status hat? Hab in Erinnerung das Carsten 
sowas mal angedacht hatte oder?

Würde gern ne Email verschicken, wenn die Alarmanlage ausgelöst hat... 
Alternativ könnte ich evtl. alle x Sekunden per Scheduler den Wert von 
der Unit abfragen und wenn active dann versenden aber unnötige CAN 
Auslastung...
Gast #2454323
Lesenswert?

ServerCUConnection:
  Type: 'Network'
  Host: 192.168.0.11
  Port: 10001
#ServerCUConnection:
# Type: 'Serial'
#Ports: [ '/dev/ttyUSB0', '/dev/ttyUSB1' ]


Ist aber falsch, wenn Dein Modul per USB dran hängt.....
#2454591
Lesenswert?

Moin, exakt, wollte damit nur testen ob dann evtl. damit die 
Webschnittstelle läuft und er zeigt mir zumindest ein Fehler...

Die USB Schnittstelle als "CUConnection" aktiviert zeigte mir auch im 
Terminal Fenster keine Fehler, habe die CAN Kommunikation gesehen aber 
der Web Zugriff klappte leider nicht.

Daher habe ich das ganze mit dem wie oben beschrieben probiert ... aber 
funktioniert jetzt wieder wunderbar. HAP ist echt klasse!
#2455067
Lesenswert?

Jörn A. schrieb:
> Kann man aktuell auch von HAP server aus bash scripts auslösen, wenn ein
> Parameter den gewünschten Status hat? Hab in Erinnerung das Carsten
> sowas mal angedacht hatte oder?

Ja das geht, ich hatte aber noch keine Zeit im Wiki eine Beschreibung 
anzulegen.
Wenn du die SVN-Version benutzt, müsste im script-Verzeichnis das Script 
MulticastAlert.pl sein.

Das wird angesprungen wenn ein Device so Konfiguriert ist dass es den 
Status über eine Multicastadresse verschicken soll. Entweder baust du 
direkt in das Skript deine Verarbeitung ein oder verzweigst von da aus.

In dem Beispiel wird beim Empfang von der Multicastadresse 253 das 
Script Lüften gestartet.
1
#!/usr/bin/perl
2
# MulticastAlert.pl
3
# Eingangsparameter: 
4
# Destination: $ARGV[0]
5
# Source:      $ARGV[1]
6
# Device:      $ARGV[2]
7
# Value:       $ARGV[3]
8
#
9
# Beispiel:
10
# if ($ARGV[0] == 253) { 
11
#   Reaktion auf Statusmeldung über Multicastadresse 253
12
# }
13

14
# Multicastadresse 253
15
if ($ARGV[0] == 253) { 
16
  system("/opt/hap/var/scripts/lueften.pl", "$ARGV[0]", "$ARGV[1]", "$ARGV[2]", "$ARGV[3]"); 
17
}
18

19
1;

1
#!/usr/bin/perl 
2

3
require '/opt/hap/var/scripts/help.pl';
4
 
5
   if ($ARGV[1] == 201 && $ARGV[2] == 203 && $ARGV[3] == 4) {
6
     $rollopos = db_read('201/159');
7
     if ($rollopos == 100) { can_write('201/159',75) }
8
   }
9
   elsif ($ARGV[1] == 201 && $ARGV[2] == 203 && $ARGV[3] == 132) { 
10
     $rollopos = db_read('201/159');
11
     if ($rollopos == 75) { can_write('201/159',100) }
12
   }

Gruß
Carsten
Gast #2455773
Lesenswert?

@Carsten, @All:

Ich habe den Scheduler jetzt mal so aufgebohrt, dass auch Macro-Scripte 
ausgeführt werden können. Damit werden die ganzen Script-Geschichten 
doch deutlich übersichtlicher.

So ist jetzt z.B. die Sonnenuntergangsgeschichte (rscalc...) komplett in 
den Scheduler gewandert.

Sprich: Der Scheduler startet täglich ein Makro welches den 
Schaltzeitpunkt berechnet und dieses wiederum ruft ein zweites Makro 
über AT auf. Das lässt sich alles über die GUI realisieren.

Für das Update ist ein Datenbankupdate notwendig. Zudem müssen 
vorhandene Scheduler-Einträge überarbeitet werden (eigentlich nur bei 
Command das Kommando auswählen und wieder speichern).

cu,
Ben
#2462818
Lesenswert?

Hallo,

habe ein Problem mit 2 neu aufgebauten DIL-CUs (meine ersten 2). Ich 
weiß nicht obs an den Fuses liegt oder ob ich irgendwo was übersehen 
habe.

Folgendes habe ich gemacht.
- CU's aufgebaut
- 2 Bootloader von der ConfigSeite geladen
- eine CU an USBasp angeschlossen und Fuses gesetzt:
    sudo avrdude -p m32 -c USBasp -u -U lfuse:w:0x3e:m -U hfuse:w:0xda:m
- Bootloader geflasht (mit ChipErase)
    sudo avrdude -e -p atmega32 -P usb -c USBasp -U 
flash:w:./HAPBootLoader-1F58C6_CUKeller.hex
- Firmware geflasht
    sudo avrdude -p atmega32 -P usb -c USBasp -U flash:w:ha.hex

Die Firmware hat folgende Config:

#define COHAES    // EEPROM-Support                    (Bit  0 -  0)
//#define COHAER  // Externer Reset                    (Bit  1 -  1)
#define COHABZ    // Buzzer                            (Bit  2 -  2)
//#define COHAFM  // Funkmodul                         (Bit  3 -  3)
#define COHACB    // CAN-Bus                           (Bit  4 -  4)
//#define COHAIR  // Infrarotschnittstelle             (Bit  5 -  5)
//#define COHALCD 2 // siehe oben                        (Bit  6 -  7)
#define COHALI   // Logischer Eingang                 (Bit  8 -  8)
#define COHAAI   // Analoger Eingang                  (Bit  9 -  9)
#define COHADIDS1820 // Dallas Digitales Thermometer      (Bit 10 - 10)
#define COHASW   // Geschalteter Ausgang              (Bit 11 - 11)
//#define COHADM // Gedimmter Ausgang                 (Bit 12 - 12)
//#define COHARS  // Rollladensteuerung                (Bit 13 - 13)
//#define COHADG 2 // siehe oben                        (Bit 14 - 15)
//#define COHAGUI // Bedienoberfläche                  (Bit 16 - 16)
#define COHAAS    // Autonome Steuerung                (Bit 17 - 17)

Wenn ich jetzt die CU anschließe piept der Summer und die LED2 leuchtet. 
Aber auf dem Terminal kommt nix an. Hier verwende ich gtkterm mit 
19200Baud, Parity:none, Bits:8, Stopbit:1, Flowcontrol:none.

Die USB-RS232-Platine habe ich getestet indem ich Tx und Rx verbunden 
habe - das funktioniert soweit.
Das Verhalten ist bei beiden gleich. Zum testen habe ich immer nur eine 
CU angeschlossen (ohne CAN-Verbindung) - ist vielleicht das der Grund?

Hat jemand eine Idee warum nix am Terminal ankommt?
Gast #2462975
Lesenswert?

Hi,

wenn ich Dich richtig verstehe willst du zunächst eine CU über dein 
USB-Interface ansprechen?

Also die RS232-Pins von der CU an die Pins vom USB-Controller?

Wenn ja, dann musst Du auf jeden Fall noch #define COHAFM  aktivieren.
Ist etwas blöd dass das Ding Funkmodul heisst, faktisch aktiviert das 
jedoch die RS232...

cu,
Ben
#2463176
Lesenswert?

@carsten

Ja habe die letzte Version drauf incl. der Datei MulticastAlert.pl aber 
der Script wird scheinbar nicht gestartet egal ob ich über die Multicast 
Adresse per GUI oder von der Unit etwas versande. Die Multicast Adresse 
habe ich auf der CU selber, der CCU und dem Switch als Test aktiviert.

Die Datei selber mit chmod hatte ich auch noch den richtigen User und 
ausführbar angepasst aber tut sich auch nichts. Ausführen von 
MulticastAlarm.pl selber geht ohne Probleme...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren