Autor Thema: PiFace  (Gelesen 53556 mal)

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15081
  • s/fhem\.cfg/configDB/g
Antw:PiFace
« Antwort #15 am: 24 August 2013, 18:38:16 »
Zitat von: Puschel74 schrieb am Sa, 24 August 2013 17:39

sub schalten($) {
  `gpio -p write 200 1`
}

Klar, das $ wird nicht ausgewertet - wäre hier aber auch egal da Relais_1 übergeben wird und damit kann gpio nichts anfangen.


Warum wertest Du das $ nicht einfach aus, wenn Du es sowieso schon übergibst?


sub schalten($) {
my ($relais) = @_;
my $port = 199 + substr($relais,7,1);
'gpio -p write $port 1'
}

-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 14.12.2018 - 18:30 Uhr

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9801
Antw:PiFace
« Antwort #16 am: 24 August 2013, 19:56:39 »
Hallo,

erstmal danke an betateilchen für die Hilfe.

Es lassen sich nun alle 8 Ports am PiFace über fhem einschalten und auch ausschalten.

In Fhem habe ich dazu folgendes eingetragen:
Für jeden Port einen Dummy angelegt nach der Form:

define Relais_1 dummy
attr Relais_1 webCmd on:off

Dann ein notify
define Relais_Pi notify Relais.* {
  my $aktion = schalten("@");
}

und in der 99_myUtils.pm folgende sub
sub schalten($$) {
  my ($io) = @_;
  my ($value) = (Value($io));
  my $port = 199 + substr($io,7,1);
  if ($value eq "on") {
    $value = "1";
  }
  else {
    $value = "0";
  }
  my ($befehl) = "gpio -p write $port $value";
  `$befehl`
}


Ist nicht schön aber funktioniert.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15081
  • s/fhem\.cfg/configDB/g
Antw:PiFace
« Antwort #17 am: 24 August 2013, 20:08:33 »
das mit den Klammern musst Du aber noch üben ;) Und was das mit "my $aktion" für einen Zweck hat, verstehe ich nicht.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 14.12.2018 - 18:30 Uhr

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9801
Antw:PiFace
« Antwort #18 am: 24 August 2013, 20:26:10 »
Hallo,

Zitat
"my $aktion" für einen Zweck hat, verstehe ich nicht.


Ich hab ja gesagt ich muss bei meinen LM75-Sensoren "gutenbergen" und dort wird in $aktion der Rückgabewert gespeichert.
Ok. Die Relais liefern keinen :-)

Ich hab ja gesagt.
Zitat
Ist nicht schön aber funktioniert.


Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

backbone10

  • Gast
Antw:PiFace
« Antwort #19 am: 27 August 2013, 21:56:51 »
Hi,
danke für eure Antworten.

Ich krieg es leider trotzdem nicht hin. gpio commands funktionieren, in der FHEM Weboberfläche finde ich die beiden Relais und kann sie auch toggeln, aber den Schaltbefehl führt er nicht aus...

Im FHEMLogfile sehe ich jetzt (nach einigen verzweifelten Editierversuchen)

2013.08.27 21:42:29 3: Relais_Pi return value: Not enough arguments for main::schalten at (eval 22) line 1, near ""Relais_1") "

2013.08.27 21:42:48 3: Relais_Pi return value: Not enough arguments for main::schalten at (eval 23) line 1, near ""Relais_1") "

Ich werde noch weiter suchen ;) bin aber leider Neuling auf dem Gebiet und google hat mir auch zu keiner Lösung geholfen. Ist doch weit schwieriger als erhofft..

Vielleicht mag mir wer einen guten Tip geben.....

mfg

bb10

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15081
  • s/fhem\.cfg/configDB/g
Antw:PiFace
« Antwort #20 am: 27 August 2013, 23:20:17 »
Zitat von: backbone10 schrieb am Di, 27 August 2013 21:56
Vielleicht mag mir wer einen guten Tip geben.....


klar. Lies doch einfach die absolut eindeutige Fehlermeldung und verstehe sie. Und dann mach das zweite Dollarzeichen in Deiner Funktionsdefinition weg.

falsch: sub schalten($$)

richtig: sub schalten($)
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 14.12.2018 - 18:30 Uhr

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9801
Antw:PiFace
« Antwort #21 am: 28 August 2013, 06:10:21 »
Hallo,

jo - Fehler von mir, sorry.
Ich werd mich am Wochenende nochmal dran setzen und ein bischen "üben".

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

backbone10

  • Gast
Antw:PiFace
« Antwort #22 am: 28 August 2013, 09:08:28 »
Hi, kein Problem...Ich habs trotzdem nicht hinbekommen :(

Ich hab leider kein funktionierendes Device (nur das Piface)in meiner FHEM Installation, daher ist es für mich schwierig mich in die Sache einzuarbeiten. Auf jeden Fall bleib ich dran, auch wenn ich zur Zeit alles falsch mache, was falsch gemacht werden kann :)
Das Logfile zeigt jetzt auf jeden Fall keine Fehlermeldungen mehr..

mfg

bb10

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9801
Antw:PiFace
« Antwort #23 am: 28 August 2013, 20:04:47 »
Hallo,

Zitat
Ich hab leider kein funktionierendes Device (nur das Piface)in meiner FHEM Installation,


Du hast das PiFace aber schon an einem RasPi dran *blödfrag* ?
FHEM kann ja auch am Rechner laufen ^^

Du brauchst eigentlich keine anderen Devices für den oben geposteten Code.
Ich hab an meinem RasPi auch nur das PiFace dran und sonst (noch) keine Verbindung zur Hausinstallation sprich es läuft FHEM auf dem RasPi aber ich
hab noch keine Kommunikations-Device (CUL/CUNO etc.) definiert.
Das PiFace lässt sich aber brav über alle 8 Ports schalten.

Wo ist den das Problem?

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

backbone10

  • Gast
Antw:PiFace
« Antwort #24 am: 28 August 2013, 22:30:49 »
Hallo Puschel74,
danke der Nachfrage....

Ich hab das natürlich am PI dran und auch mit der Emu Software getestet :)
Dass ich keine anderen Devices dafür brauche (ich hab auch gar nicht vor, wireless Sensoren oder Aktoren einzusetzen) hab ich schon mitbekommen, so weit fehlts mir nicht.

Ich wollte damit ausdrücken dass ich bis jetzt kein Device erfolgreich implementiert habe, d.h. es fehlt mir die Erfahrung und die Möglichkeit es mit der Konfig von funktionierenden Devices zu vergleichen.
Was mir aufgefallen ist : in meinem Logfile steht NICHTS von Fehlern oder ausgeführten Commands, ich nehme an dass man die Schaltbefehle des WEB IF ja doch irgendwie sehen sollte.

Was ich bis jetzt gemacht habe :

viel gelesen, aber das meiste behandelt nur FS20 Devices
 
PI installiert (Wheezy, GPIO, VNC)
fhem installiert
fhem.cfg mit dem eingebauten Editor um deine 4 Zeilen Code ergänzt

die 99_Utils mit deinem Code ergänzt, Rechte kontrolliert

nicht viel, also sollte nicht viel falsch sein :)
ich tippe eher darauf dass ich was vergessen habe.

Auf dem WEB IF schauts so aus als ob es einwandfrei funktioniert, aber ich denke der gpio command wird nie gesendet...

Ich bleib aber weiterhin dran, vorerst mal mit weiterlesen und ausprobieren. Der Mut hat mich ja noch nicht verlassen :)

LG

bb10

PS : hab jetzt den Loglevel gefunden und ausprobiert
Im Log steht nun
2013.08.28 23:18:11 3: dummy set Relais_1 off
2013.08.28 23:18:12 3: dummy set Relais_1 on
2013.08.28 23:18:13 3: dummy set Relais_1 off
2013.08.28 23:18:14 3: dummy set Relais_1 on









Offline cornelius fillmore

  • Full Member
  • ***
  • Beiträge: 238
Antw:PiFace
« Antwort #25 am: 22 September 2013, 15:32:49 »
Also geht es jetzt?

Kann ich mir für meinen 2.Raspi wieder ein Piface holen?
3 x Fhem 5.8 aufm Raspi

backbone10

  • Gast
Antw:PiFace
« Antwort #26 am: 22 September 2013, 20:19:38 »
Hi,
das kann ich noch nicht bestätigen, ich bin leider nicht weitergekommen.
Ich hatte auch so gut wie keine zeit mehr.Ich werde in den nächsten Wochen den PI wieder aktivieren.

mfg

bb10

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15081
  • s/fhem\.cfg/configDB/g
Antw:PiFace
« Antwort #27 am: 25 September 2013, 21:39:42 »
Ich bin grade dabei, ein passendes Modul zu schreiben. Schalten der Ausgänge geht schon, im Moment baue ich das Lesen.

Aussehen wird das Ganze derzeit so:


define myPi PIFACE <base>

set myPi 1 1 # schaltet Pin 1 ein
set myPi 3 0 # schaltet Pin 3 aus


Ähnliches wird es dann für get geben, um die Eingänge abzufragen.

Also - noch ein paar Tage Geduld haben :)


(siehe Anhang / see attachement)
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 14.12.2018 - 18:30 Uhr

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15081
  • s/fhem\.cfg/configDB/g
Antw:PiFace
« Antwort #28 am: 26 September 2013, 16:02:59 »
Zitat von: betateilchen schrieb am Mi, 25 September 2013 21:39
Also - noch ein paar Tage Geduld haben :)


Ich denke, heute abend gibts die erste brauchbare Testversion.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 14.12.2018 - 18:30 Uhr

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15081
  • s/fhem\.cfg/configDB/g
Antw:PiFace
« Antwort #29 am: 26 September 2013, 21:22:22 »
So, jetzt gehst los...

wringPi Tools installieren

Das erfolgt auf der Systemconsole des Raspi


git clone git://git.drogon.net/wiringPi
cd wiringPi
./build



PIFACE Device in fhem definieren

define <name> PIFACE

Das wars schon :)

Befehlssyntax:

1. Einen einzelnen Port (z.B. 3) einschalten

set <name> 3 1

2. Einen einzelnen Port (z.B. 5) ausschalten

set <name> 5 0

3. Alle Ports auf einmal setzen

Dazu brauchen wir eine Bitmaske mit 8 Stellen. Es muss ein Wert zwischen 0 (alle Ports aus) und 255 (alle Ports an) gesendet werden.
Das niedrigstwertige Bit ist Port 1, das höchstwertige ist Port 8

set <name> 0 170

Die Bitmaske aus 170 ergibt 10101010 und diese setzt die Ports 2,4,6,8 auf 1 und 1,3,5,7 auf 0


set <name> 0 0

Schaltet alle Ausgänge aus.

set <name> 0 255

Schaltet alle Ausgänge an.

4. Ports einlesen

Jetzt wirds kompliziert und ich bin müde. Deshalb nur ganz kurz:

get <name> 5

Liest Port 5 mit ausgeschalteten Pullup-Widerständen.

get <name> 15

Liest Port 5 mit eingeschalteten Pullup-Widerständen.

Die Regel ist: Port + 10 = Port mit eingeschalteten Pullup lesen.

get <name> 0

Aktualisiert die Readings aller Input-Ports jeweils ohne und mit Pullup auf einmal.


Anmerkungen:

- Die 4 Taster auf dem Board müssen immer mit eingeschalteten Pullups gelesen werden (also 11-14)
- Die Taster liefern umgekehrte Logik! gedrückt = 0, nicht gedrückt = 1
- Eine Möglichkeit, durch einen gedrückten Taster einen Event zu erzeugen, gibt es derzeit nicht
- Eine regelmäßige automatische Aktualisierung der Portabfrage ist derzeit noch nicht eingebaut, das baue ich vielleicht noch ein

Ich hoffe, ich habe auf die Schnelle nichts vergessen und freue mich über Rückmeldungen.


Achja - falls jemand mein PIFACE haben möchte, ich gebe das gerne ab.
Ich habe das Teil vorgestern nur gekauft, um dieses Modul zu schreiben und brauche das PIFACE selbst nicht.
Bei Interesse bitte email hier über das Forum


-----
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 14.12.2018 - 18:30 Uhr

 

decade-submarginal