Ist ja interessant…
Ich habe die gleiche Konfiguration wie BunnyMC: iPhone 4S, RPi mit SiriProxy
Was nun tun?
Joachim
Ist ja interessant…
Ich habe die gleiche Konfiguration wie BunnyMC: iPhone 4S, RPi mit SiriProxy
Was nun tun?
Joachim
Ich nutze auch das 4S. Auch Siri auf dem Pi. Und wie gesagt, die meisten gehen durch.
Hallo Leute,
ich habe noch ein paar „Syntaxprobleme“:
require 'httparty'
class SiriProxy::Plugin::IPS < SiriProxy::Plugin
attr_accessor :host
def initialize(config = {})
self.host = config["host"]
end
listen_for (/(Licht|Beleuchtung|Lampe) (Garage|Werkstatt|Technikraum) (an|ein|aus)/i) do |device1,room1,action1|
room = room1.strip
action = action1.strip
if((action = "an") or (action = "ein"))
state = 1
else
state = 0
end
result = HTTParty.get("http://#{self.host}/user/siri/siri.ips.php?room=#{room}&type=light&state=#{state}")
if(room = "Technikraum")
say "Im #{room} wurde das Licht #{action}geschaltet!"
else
say "In der #{room} wurde das Licht #{action}geschaltet!"
end
request_completed #always complete your request! Otherwise the phone will "spin" at the user!
end
end
Ich denke der Sinn wird klar: Übertragen werden soll der gewünschte Raum (room) und der gewünschte Zustand (state).
Aber irgendwie wird im Ansagetext nur der „Technikraum“ benutzt und es wird nur „an“ ausgeführt. - Eingeschaltet wird vom IPS aber komischerweise der richtige Raum…
Jemand eine Idee?
Joachim
Nachtrag: Hat sich erledigt!! Auch dort muss beim Vergleich das „==“ verwendet werden!
Hallo Leute,
im Video wird ja ein Bild der IP-Cam eingeblendet, hat jemand das schon mal umgesetzt? Ein Beispiel-Skript wäre toll…
Ein Erläuterungen für den „Siri-Syntax“ habe ich bisher nur eine Seite gefunden, die ein paar Dinge erklärt. Habt Ihr vielleicht noch andere empfehlenswerte Websites?
Joachim
Ansonsten: Ich habe bisher meine über IPS fernbedienbaren Lampen, die Temperaturabfragen und die Steuerung der Garagentore über Siri umgesetzt. Einiges andere steht noch auf der Agenda…
Es macht einfach Spass! Vielen Dank für die tolle Unterstützung!
Ich bin da hilflos.
Auch auf die Gefahr hin, dass ich mich lächerlich mache:
Wie macht man das? Oder wo finde ich da was zum Lesen?
Ergänzung:
Ich hatte in der dnsmasq.config die Adresse 192.168.001.077 statt 192.168.1.77 eingegeben und beim Start einen Fehler erhalten, bzw. der guzzoni-Link deutete auf eine Adresse 192.168.1.63
Dann geändert auf 192.167.1.77 und alles war OK.
Jetzt kämpf ich mit dem IPS-Plugin. (17.02.2013)
Hallo
habe es nach 2tragen geschaft Siriproxy auf raspberry zu installieren und läuft auch.
aber nun hänge ich schon stunden fest habe die ganzen beiträge gelesen und komme nicht weiter hab das
habe das siriproxy-ips.zip installiert aber nun weis ich nicht mehr weiter
habe in config.yml
- name: ‚IPS‘
path: ‚/root/SiriProxy/plugins/siriproxy-ips‘
host: ‚192.168.0.50:82‘
eingetragen und nun startet der proxy auch nicht mehr???
bitte
danke alex:confused:
Fragst Du uns, ob der Proxy nicht mehr startet? Das wissen wir doch nicht, Du kannst es ja vielleicht verraten…
Was passiert denn…oder vielleicht besser was passiert denn nicht??
Joachim
nein
nach den Änderungen in config.yml
kommt im terminal fenster jetzt:
root@raspberrypi:~/SiriProxy# siriproxy bundle
/usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:203:in `parse': (/root/.siriproxy/config.yml): did not find expected key while parsing a block mapping at line 32 column 6 (Psych::SyntaxError)
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:151:in `parse'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:127:in `load'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `block in load_file'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `open'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `load_file'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.3.2/lib/siriproxy/command_line.rb:143:in `parse_options'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.3.2/lib/siriproxy/command_line.rb:33:in `initialize'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.3.2/bin/siriproxy:6:in `new'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.3.2/bin/siriproxy:6:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/bin/siriproxy:23:in `load'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/bin/siriproxy:23:in `<main>'
wenn ich die änderung wieder lösche, lässt siriproxy sich wieder starten.
hmm???
danke
alex:)
Was steht denn in „…at line 32 column 6 (Psych::SyntaxError)“… in Deiner config.yml?
Poste die doch vielleicht mal, evtl. gleich mit Deiner Änderung…
Joachim
in der config.yml steht
listen: 0.0.0.0
port: 443
log_level: 1
plugins:
# NOTE: run bundle after changing plugin configurations to update required gems
#- name: 'Example'
# path: './plugins/siriproxy-example'
# - name: 'Thermostat'
# git: 'git://github.com/plamoni/SiriProxy-Thermostat.git'
# host: '192.168.2.71'
# - name: 'Twitter'
# path: './plugins/siriproxy-twitter' # path works just like specifing in gemfile
# consumer_key: "YOUR_KEY"
# consumer_secret: "YOUR_SECRET"
# oauth_token: "YOUR_TOKEN"
# oauth_token_secret: "YOUR_TOKEN_SECRET"
# Note: Eliza should not be run with other plugins
# - name: 'Eliza'
# path: './plugins/siriproxy-eliza' # path works just like specifing in gemfile
# Below are not actual plugins, just further example of config options
# - SimplePlugin # simple syntax for plugins that are in rubygems and have no config
# - name: 'AnotherPlugin'
# git: 'git://github.com/netpro2k/SiriProxy-AnotherPlugin.git' # git works just like specifying in Gemfile
- name: 'IPS'
path: '/root/SiriProxy/plugins/siriproxy-ips'
host: '192.168.0.50:82'
danke
alex
…daran kann ich jetzt so keinen Fehler feststellen.
Hast Du nach der Änderung:
siriproxy bundle
bundle install
ausgeführt?
Joachim
danke für die rasche antwort
ja habe ich und wenn ich eben
siriproxy bundle
eingebe kommt im putty fenster
root@raspberrypi:~/SiriProxy# siriproxy bundle
/usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:203:in `parse': (/root/.siriproxy/config.yml): did not find expected key while parsing a block mapping at line 32 column 6 (Psych::SyntaxError)
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:151:in `parse'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:127:in `load'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `block in load_file'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `open'
from /usr/local/rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `load_file'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.3.2/lib/siriproxy/command_line.rb:143:in `parse_options'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.3.2/lib/siriproxy/command_line.rb:33:in `initialize'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.3.2/bin/siriproxy:6:in `new'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.3.2/bin/siriproxy:6:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/bin/siriproxy:23:in `load'
from /usr/local/rvm/gems/ruby-1.9.3-p385@SiriProxy/bin/siriproxy:23:in `<main>'
root@raspberrypi:~/SiriProxy#
dann habe ich gerade noch ein ubuntu aufgesetzt da ich dachte es liegt am raspberry und bin nach der video anleitung vorgegangen, der siriproxy funktioniert einwandfrei, nur wenn ich die config.yml wieder ändere
kommt auch (unter ubuntu 11.10 vmware)
zonex@ubuntu:~/SiriProxy$ siriproxy bundle
/home/zonex/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:203:in `parse': (/home/zonex/.siriproxy/config.yml): did not find expected key while parsing a block mapping at line 30 column 3 (Psych::SyntaxError)
from /home/zonex/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
from /home/zonex/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:151:in `parse'
from /home/zonex/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:127:in `load'
from /home/zonex/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `block in load_file'
from /home/zonex/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `open'
from /home/zonex/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/psych.rb:297:in `load_file'
from /home/zonex/.rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.4.0/lib/siriproxy/command_line.rb:143:in `parse_options'
from /home/zonex/.rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.4.0/lib/siriproxy/command_line.rb:33:in `initialize'
from /home/zonex/.rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.4.0/bin/siriproxy:6:in `new'
from /home/zonex/.rvm/gems/ruby-1.9.3-p385@SiriProxy/gems/siriproxy-0.4.0/bin/siriproxy:6:in `<top (required)>'
from /home/zonex/.rvm/gems/ruby-1.9.3-p385@SiriProxy/bin/siriproxy:19:in `load'
from /home/zonex/.rvm/gems/ruby-1.9.3-p385@SiriProxy/bin/siriproxy:19:in `<main>'
from /home/zonex/.rvm/gems/ruby-1.9.3-p385@SiriProxy/bin/ruby_noexec_wrapper:14:in `eval'
from /home/zonex/.rvm/gems/ruby-1.9.3-p385@SiriProxy/bin/ruby_noexec_wrapper:14:in `<main>'
zonex@ubuntu:~/SiriProxy$
wenn ich die config.yml wieder ändere auf standart geht der siriproxy wieder bei beiden varianten.
also keine Ahnung woran das liegt. hmmmm
danke Alex
denke es hat vielleicht was mit dem siriproxy-ips zu tun habe denn hier von der 2ten seite runtergeladen
gibts da auch einen anderen?
danke alex
Hallo Alex,
versuche es mal so:
listen: 0.0.0.0
port: 443
log_level: 1
plugins:
# NOTE: run bundle after changing plugin configurations to update required gems
- name: 'Example'
path: './plugins/siriproxy-example'
- name: 'IPS'
path: '/root/SiriProxy/plugins/siriproxy-ips'
host: '192.168.0.50:82'
# - name: 'Thermostat'
# git: 'git://github.com/plamoni/SiriProxy-Thermostat.git'
# host: '192.168.2.71'
# - name: 'Twitter'
# path: './plugins/siriproxy-twitter' # path works just like specifing in gemfile
# consumer_key: "YOUR_KEY"
# consumer_secret: "YOUR_SECRET"
# oauth_token: "YOUR_TOKEN"
# oauth_token_secret: "YOUR_TOKEN_SECRET"
# Note: Eliza should not be run with other plugins
# - name: 'Eliza'
# path: './plugins/siriproxy-eliza' # path works just like specifing in gemfile
# Below are not actual plugins, just further example of config options
# - SimplePlugin # simple syntax for plugins that are in rubygems and have no config
# - name: 'AnotherPlugin'
# git: 'git://github.com/netpro2k/SiriProxy-AnotherPlugin.git' # git works just like specifying in Gemfile
Ist schon auf Deine IP geändert, lass auch mal die „Example“-Daten drin - irgendwo im Thread hat sich diesbezüglich auch schon mal jemand geäußert…
Joachim
du bist der beste joachim es geht
habe es aber vorher auch schon mit dem Example probiert und da gigns auch nicht was ich noch geändert habe ist das ich denn SSH zugriff entfernt habe vielleicht lags ja auch daran aber egal,… es geht
danke schon mal
somit habe ich wieder einen teil erreicht
und wie kann ich jetzt das licht schalten bzw. wo muss ich das eintragen ? wenn´s keine umstände macht
danke
alex
Nun, da gibt es sicherlich viele Wege. Ich habe es so gemacht:
# encoding: utf-8
require 'httparty'
class SiriProxy::Plugin::IPS < SiriProxy::Plugin
attr_accessor :host
def initialize(config = {})
self.host = config["host"]
end
# Beleuchtung allgemein
listen_for (/(Licht|Beleuchtung|Lampe) (Garage|Werkstatt|Technikraum) (an|ein|aus)/i) do |device1,room1,action1|
room = room1.strip
action = action1.strip
if((action == "an") or (action == "ein"))
state = 1
else
state = 0
end
result = HTTParty.get("http://#{self.host}/user/siri/siri.ips.php?room=#{room}&type=light&state=#{state}")
if(room == "Technikraum")
say "Im #{room} wurde das Licht #{action}geschaltet!"
else
say "In der #{room} wurde das Licht #{action}geschaltet!"
end
request_completed #always complete your request! Otherwise the phone will "spin" at the user!
end
# Aussenbeleuchtung
listen_for (/(Aussenlicht|Aussenbeleuchtung) (an|ein)/i) do |room1,action1|
room = room1.strip
action = action1.strip
if((action == "an") or (action == "ein"))
state = 1
else
state = 0
end
result = HTTParty.get("http://#{self.host}/user/siri/siri.ips.php?room=Aussenlicht&type=light&state=#{state}")
say "Die Aussenbeleuchtung wurde #{action}geschaltet!"
request_completed #always complete your request! Otherwise the phone will "spin" at the user!
end
# Temperaturabfrage allgemein
listen_for (/Temperatur (Büro Joachim|Büro Anna|Schlafzimmer|Bad Dachgeschoss|Bad Erdgeschoss|Küche|Flur|Wohnzimmer|Dennis Zimmer)/i) do |room1|
room = room1.strip
if(room == "Büro Joachim")
roomsend = "BueroJoachim"
end
if(room == "Büro Anna")
roomsend = "BueroAnna"
end
if(room == "Bad Dachgeschoss")
roomsend = "BadDachgeschoss"
end
if(room == "Bad Erdgeschoss")
roomsend = "BadErdgeschoss"
end
if(room == "Küche")
roomsend = "Kueche"
end
if(room == "Dennis Zimmer")
roomsend = "DennisZimmer"
end
result = HTTParty.get("http://#{self.host}/user/siri/siri.ips.php?room=#{roomsend}&type=temperatur&state=0")
if(room == "Küche")
say "Die Temperatur in der #{room} beträgt derzeit #{result} Grad!"
else
say "Die Temperatur im #{room} beträgt derzeit #{result} Grad!"
end
request_completed #always complete your request! Otherwise the phone will "spin" at the user!
end
# Aussentemperatur
listen_for (/Aussentemperatur/i) do
result = HTTParty.get("http://#{self.host}/user/siri/siri.ips.php?room=Aussentemperatur&type=temperatur&state=0")
say "Die Aussentemperatur beträgt derzeit #{result} Grad!"
request_completed #always complete your request! Otherwise the phone will "spin" at the user!
end
# Garagentore
listen_for (/(Tor eins|Tor zwei|Garagentor eins|Garagentor zwei) (öffnen|auf|hoch|zu|runter|schließen)/i) do |room1,action1|
room = room1.strip
action = action1.strip
if((action == "zu") or (action == "runter") or (action == "schließen"))
state = 1
else
state = 0
end
if((room == "Tor eins") or (room == "Garagentor eins"))
roomsend = "TorEins"
else
roomsend = "TorZwei"
end
result = HTTParty.get("http://#{self.host}/user/siri/siri.ips.php?room=#{roomsend}&type=gate&state=#{state}")
say "#{room} #{result}!"
request_completed #always complete your request! Otherwise the phone will "spin" at the user!
end
end
Da kann man sicherlich noch einiges verbessern, ist aber auch erst mein Anfang…
Alle Anfragen laufen den in der schon im Thread vorher beschrieben Datei im Ordner webfront/user/siri/siri.ips.php auf:
<?php
$room = $_GET['room'];
$type = $_GET['type'];
$state = $_GET['state'];
IPS_RunScriptWaitEx(18362 /*[Siri\Siri-Aktionen]*/, Array("Room" => $room, "Type" => $type, "State" => $state));
$Value = GetValueString(48388 /*[Siri\Siri-Abfragen\Siri-Variable]*/);
echo $Value;
SetValueString(48388 /*[Siri\Siri-Abfragen\Siri-Variable]*/, "");
?>
Dieses ist aber nur eine Schnittstelle ohne große „Intelligenz“. Wie Du siehst gibt es nur ein Skript was gestartet wird und eine Variable aus der die Daten zur Übergabe an den Siriproxy abgefragt wird.
Im IPS selbst gibt es dann ein Skript das dann mit den notwendigen Aktionen befüllt wird:
<?
Include ('Konstanten.ips.php');
Include ('f_Siemens-Logo.ips.php');
// Todo:TV, PC, Türsummer, Raumtemperatur setzen
$Room = $_IPS['Room'];
$Type = $_IPS['Type'];
$State = $_IPS['State'];
If (array_key_exists($Room, $k_SIRI_DEVICES))
{
If (($Type == "light") AND (GetValueBoolean($k_SIRI_DEVICES[$Room]['Statuslink']) == !$State))
{
IPS_RunScript($k_SIRI_DEVICES[$Room]['Switchlink']);
}
ElseIf ($Type == "server")
{
SetValueBoolean(55583 /*[Siri\Server-Status]*/ , $State);
}
ElseIf ($Type == "temperatur")
{
SetValueString(48388 /*[Siri\Siri-Aktionen\Siri-Variable]*/ , round(GetValueFloat($k_SIRI_DEVICES[$Room]['Statuslink']),1));
}
ElseIf ($Type == "gate")
{
If ((GetValueInteger($k_SIRI_DEVICES[$Room]['Statuslink']) == 0) AND ($State == 1))
{
LogoTaster(40477 /*[Siemens LOGO Garage]*/, $k_SIRI_DEVICES[$Room]['SwitchlinkDown'], 1000); // Tor zufahren
SetValueString(48388 /*[Siri\Siri-Aktionen\Siri-Variable]*/ , "wird geschlossen");
}
elseif ((GetValueInteger($k_SIRI_DEVICES[$Room]['Statuslink']) == 0) AND ($State == 0))
{
SetValueString(48388 /*[Siri\Siri-Aktionen\Siri-Variable]*/ , "ist bereits geoeffnet");
}
elseif ((GetValueInteger($k_SIRI_DEVICES[$Room]['Statuslink']) == 1) AND ($State == 1))
{
SetValueString(48388 /*[Siri\Siri-Aktionen\Siri-Variable]*/ , "ist bereits geschlossen");
}
elseif (((GetValueInteger($k_SIRI_DEVICES[$Room]['Statuslink']) == 1) OR (GetValueInteger($k_SIRI_DEVICES[$Room]['Statuslink']) == 2)) AND ($State == 0))
{
LogoTaster(40477 /*[Siemens LOGO Garage]*/, $k_SIRI_DEVICES[$Room]['SwitchlinkUp'], 1000); // Tor auffahren
SetValueString(48388 /*[Siri\Siri-Aktionen\Siri-Variable]*/ , "wird geoeffnet");
}
}
}
?>
Ich habe dazu alle relevanten Daten in einem Array geparkt, ich persönlich halte das für übersichtlicher. das kann ja aber jeder so machen wie er möchte:
//*************************************************************************************************************
// Informationen zu den Siri-Geräten
global $k_SIRI_DEVICES;
$k_SIRI_DEVICES = array(
"Technikraum" => array("Typ" => "Light", "Switchlink" => 42689, "Statuslink" => 59347),
"Werkstatt" => array("Typ" => "Light", "Switchlink" => 12687, "Statuslink" => 33786),
"Garage" => array("Typ" => "Light", "Switchlink" => 11885, "Statuslink" => 53176),
"Aussenlicht" => array("Typ" => "Light", "Switchlink" => 17101, "Statuslink" => 42289),
"Aussentemperatur" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 21257),
"BueroJoachim" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 40847),
"BueroAnna" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 15617),
"Schlafzimmer" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 49121),
"DennisZimmer" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 56346),
"BadErdgeschoss" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 14810),
"Kueche" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 48444),
"Wohnzimmer" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 14751),
"Flur" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 33183),
"BadDachgeschoss" => array("Typ" => "Temperatur", "Switchlink" => "", "Statuslink" => 12846),
"TorEins" => array("Typ" => "Tor", "SwitchlinkUp" => 39642, "SwitchlinkDown" => 42801, "Statuslink" => 27402),
"TorZwei" => array("Typ" => "Tor", "SwitchlinkUp" => 51205, "SwitchlinkDown" => 29713, "Statuslink" => 57920)
);
Wie gesagt, ich bin (auch) erst am Anfang, habe selbst noch viele offene Fragen hier im Forum laufen…
Vielleicht hilft es Dir ja…
Joachim
danke für die vielen infos
ich versuch mal mein glück, aber wie das aussieht sind php kenntnisse von vorteil die ich leider nicht habe
aber ich werd´s schon irgendwie schaffen hoffe ich
sonst mach ich einen php schnellkurs
danke erstmal für die hilfe
alex
PHP-Kenntnisse haben bei IPS schon einen „gewissen Vorteil“…
Viel Erfolg!
Joachim
so nach denn ersten 4 Stunden PHP 5 Video2Brain DVD bin ich zwar noch verwirrter als vorher, aber auf einen höheren Niveau ;)
und habe es jetzt auch geschafft das erste Licht mit Siri zu schalten
danke nochmal an joachim
mfg alex
Hallo Leute,
ich möchte in der siriproxy-ips.rb folgende Python-Funktion anwenden:
str.replace(old, new[, count])
Im Konkreten lauter er:
program = program2.replace(’ ‚,‘_’)
(Ich habe es auch mit " statt ’ probiert)
Es kommt aber immer die Fehlermeldung:
…siriproxy-ips.rb:102:in ‚replace‘: wrong number of arguments(2 for 1) (ArgumentError)
Wie wendet man in Python solche Funktionen korrekt an?
Joachim